Move all vcs xml registrations into vcs impl module
authorEvgeniy.Stepanov <Evgeniy.Stepanov@JetBrains.com>
Fri, 8 May 2020 13:18:58 +0000 (15:18 +0200)
committerintellij-monorepo-bot <intellij-monorepo-bot-no-reply@jetbrains.com>
Sat, 9 May 2020 05:25:10 +0000 (05:25 +0000)
GitOrigin-RevId: 700b20d3954ea9d37d1768c178e2b8b2e9ce9724

15 files changed:
platform/lang-impl/src/com/intellij/codeInsight/actions/VcsFacade.java
platform/lang-impl/src/com/intellij/ide/actions/SynchronizeCurrentFileAction.java [moved from platform/vcs-impl/src/com/intellij/ide/actions/SynchronizeCurrentFileAction.java with 73% similarity]
platform/platform-resources/src/META-INF/LangExtensions.xml
platform/platform-resources/src/META-INF/PlatformExtensionPoints.xml
platform/platform-resources/src/META-INF/PlatformExtensions.xml
platform/platform-resources/src/META-INF/PlatformLangPlugin.xml
platform/platform-resources/src/componentSets/PlatformLangComponents.xml
platform/platform-resources/src/idea/LangActions.xml
platform/platform-resources/src/idea/PlatformLangActionManager.xml
platform/vcs-impl/intellij.platform.vcs.impl.iml
platform/vcs-impl/resources/META-INF/VCS.xml [moved from platform/platform-resources/src/componentSets/VCS.xml with 76% similarity]
platform/vcs-impl/resources/META-INF/VcsActions.xml [moved from platform/platform-resources/src/idea/VcsActions.xml with 90% similarity]
platform/vcs-impl/resources/META-INF/VcsExtensionPoints.xml [moved from platform/platform-resources/src/META-INF/VcsExtensionPoints.xml with 99% similarity]
platform/vcs-impl/resources/META-INF/VcsExtensions.xml [moved from platform/platform-resources/src/META-INF/VcsExtensions.xml with 95% similarity]
platform/vcs-impl/src/com/intellij/codeInsight/actions/VcsFacadeImpl.java

index ff8bfb59376bb994a8745e37f16d3bfd74fcb6e7..6dcd1ba0ab7577bce8cd10d9a3b90e957449d297 100644 (file)
@@ -111,6 +111,8 @@ public class VcsFacade {
     return null;
   }
 
+  public void markFilesDirty(@NotNull Project project, @NotNull List<? extends VirtualFile> virtualFiles) { }
+
   /**
    * Allows to temporally suppress document modification tracking.
    *
similarity index 73%
rename from platform/vcs-impl/src/com/intellij/ide/actions/SynchronizeCurrentFileAction.java
rename to platform/lang-impl/src/com/intellij/ide/actions/SynchronizeCurrentFileAction.java
index 53c8cf4ef4f6720c21eab3821b09f1ad9c0b9bc2..11cab0c2f6d4090e6af645a10b645c185e00191d 100644 (file)
@@ -1,27 +1,13 @@
-/*
- * Copyright 2000-2017 JetBrains s.r.o.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
 package com.intellij.ide.actions;
 
+import com.intellij.codeInsight.actions.VcsFacade;
 import com.intellij.ide.IdeBundle;
 import com.intellij.openapi.actionSystem.AnAction;
 import com.intellij.openapi.actionSystem.AnActionEvent;
 import com.intellij.openapi.actionSystem.CommonDataKeys;
 import com.intellij.openapi.project.DumbAware;
 import com.intellij.openapi.project.Project;
-import com.intellij.openapi.vcs.changes.VcsDirtyScopeManager;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.openapi.vfs.newvfs.NewVirtualFile;
 import com.intellij.openapi.vfs.newvfs.RefreshQueue;
@@ -72,16 +58,7 @@ public class SynchronizeCurrentFileAction extends AnAction implements DumbAware
   }
 
   private static void postRefresh(Project project, List<? extends VirtualFile> files) {
-    VcsDirtyScopeManager dirtyScopeManager = VcsDirtyScopeManager.getInstance(project);
-    for (VirtualFile f : files) {
-      if (f.isDirectory()) {
-        dirtyScopeManager.dirDirtyRecursively(f);
-      }
-      else {
-        dirtyScopeManager.fileDirty(f);
-      }
-    }
-
+    VcsFacade.getInstance().markFilesDirty(project, files);
     StatusBar statusBar = WindowManager.getInstance().getStatusBar(project);
     if (statusBar != null) {
       statusBar.setInfo(IdeBundle.message("action.sync.completed.successfully", getMessage(project, files)));
index 27df8a22c774636c0a05cd2cb9e36229a6b35fae..ddc1bc2b7e22a2013edb3fdf4e2670bfa8d1bf36 100644 (file)
                         serviceImplementation="com.intellij.lang.DefaultASTFactoryImpl"/>
 
     <applicationService serviceInterface="com.intellij.conversion.ConversionService"
-                        serviceImplementation="com.intellij.impl.ConversionServiceImpl"/>
+                        serviceImplementation="com.intellij.conversion.DummyConversionService"/>
 
     <applicationService serviceInterface="com.intellij.psi.search.searches.IndexPatternSearch"
                         serviceImplementation="com.intellij.psi.impl.search.IndexPatternSearchImpl"/>
                                         implementation="com.intellij.codeInsight.daemon.impl.analysis.GeneratedSourcesHighlightingSettingProvider"/>
     <editorNotificationProvider implementation="com.intellij.ide.GeneratedFileEditingNotificationProvider"/>
 
-    <editorTabTitleProvider implementation="com.intellij.openapi.vcs.vfs.VcsFileEditorTabTitleProvider"/>
     <editorTabTitleProvider implementation="com.intellij.openapi.fileEditor.impl.UniqueNameEditorTabTitleProvider" order="last"/>
 
     <itemPresentationProvider forClass="com.intellij.psi.PsiDirectory"
     <projectService serviceImplementation="com.intellij.execution.TestStateStorage"/>
     <editorActionHandler action="EditorEscape" implementationClass="com.intellij.refactoring.changeSignature.inplace.EscapeHandler" id="changeSignatureEscape" order="before hide-search"/>
 
-    <customizableActionGroupProvider implementation="com.intellij.openapi.vcs.ui.VcsCustomizableActionGroupProvider"/>
-
     <daemon.tooltipActionProvider order="last" id="defaultProvider" implementation="com.intellij.codeInsight.daemon.impl.DaemonTooltipActionProvider" />
 
     <schemeExporter
index 73423a1a3f447ff9cecd24c75f5303f13f0a7357..cff4127e2f5c4385f43769309755acdd336c9642 100644 (file)
     <extensionPoint name="statusBarWidgetProvider" interface="com.intellij.openapi.wm.StatusBarWidgetProvider" dynamic="true"/>
     <extensionPoint name="statusBarWidgetFactory" interface="com.intellij.openapi.wm.StatusBarWidgetFactory" dynamic="true"/>
 
-    <extensionPoint name="checkinHandlerFactory" interface="com.intellij.openapi.vcs.checkin.CheckinHandlerFactory" dynamic="true"/>
-
     <extensionPoint name="eventLogCategory" interface="com.intellij.notification.EventLogCategory" dynamic="true"/>
 
     <extensionPoint name="nonProjectFileWritingAccessExtension" area="IDEA_PROJECT" interface="com.intellij.openapi.fileEditor.impl.NonProjectFileWritingAccessExtension" dynamic="true"/>
index ef3ca3eb6cee0fafba38bca45acda72a2c3fbad0..15c22515c0aec715666dae55971d415f306493f6 100644 (file)
     <colorAndFontDescriptorProvider implementation="com.intellij.openapi.diff.impl.settings.DiffColorsPageFactory"/>
     <getDataRule key="diff_navigatable_array" implementationClass="com.intellij.diff.actions.impl.DiffNavigatableArrayRule"/>
 
+    <projectService serviceInterface="com.intellij.openapi.diff.DirDiffManager"
+                    serviceImplementation="com.intellij.openapi.diff.impl.dir.DirDiffManagerImpl"/>
+    <diff.DiffExtension implementation="com.intellij.diff.actions.ShowBlankDiffWindowDiffExtension"/>
+
+
     <daemon.highlightInfoFilter implementation="com.intellij.codeInsight.daemon.OutsidersPsiFileSupport$HighlightFilter"/>
     <daemon.intentionActionFilter implementation="com.intellij.codeInsight.daemon.OutsidersPsiFileSupport$IntentionFilter"/>
     <defaultHighlightingSettingProvider id="GeneratedSourcesHighlightingSettingProvider"
 
     <projectService serviceInterface="com.intellij.openapi.project.DumbUtil" serviceImplementation="com.intellij.openapi.project.DumbUtilImpl"/>
 
-    <projectService serviceInterface="com.intellij.openapi.vcs.impl.projectlevelman.AllVcsesI"
-                    serviceImplementation="com.intellij.openapi.vcs.impl.projectlevelman.AllVcses"/>
-
-    <projectService serviceImplementation="com.intellij.openapi.vcs.changes.RemoteRevisionsCache"/>
-
     <projectService serviceImplementation="com.intellij.execution.testframework.export.ExportTestResultsConfiguration"/>
 
     <projectService serviceImplementation="com.intellij.execution.testframework.autotest.AutoTestManager"/>
 
     <projectService serviceImplementation="com.intellij.execution.testframework.sm.TestHistoryConfiguration"/>
-    <projectService serviceImplementation="com.intellij.openapi.vcs.VcsFileListenerContextHelper"/>
 
     <projectService serviceInterface="com.intellij.openapi.project.ProjectReloadState"
                     serviceImplementation="com.intellij.openapi.project.impl.ProjectReloadStateImpl"/>
 
     <statistics.counterUsagesCollector groupId="light.edit" version="1"/>
 
-    <statistics.projectUsagesCollector implementation="com.intellij.openapi.vcs.statistics.VcsOptionsUsagesCollector"/>
-    <statistics.projectUsagesCollector implementation="com.intellij.openapi.vcs.statistics.VcsUsagesCollector"/>
-
     <statistics.collectorExtension implementation="com.intellij.ide.actions.ToolwindowFusEventFields"/>
 
     <applicationInitializedListener implementation="com.intellij.openapi.application.Preloader"/>
 
     <writingAccessProvider implementation="com.intellij.openapi.fileEditor.impl.NonProjectFileWritingAccessProvider" order="first"/>
 
-    <patch.extension implementation="com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP"/>
-    <patch.extension implementation="com.intellij.openapi.diff.impl.patch.CharsetEP"/>
-
     <iconLayerProvider implementation="com.intellij.ide.LockedIconLayerProvider"/>
 
     <fileEditorProvider implementation="com.intellij.openapi.fileEditor.impl.text.LargeFileEditorProvider"/>
index cca107485abaf5d98a3e99c0cea24a94ea6dfe37..0d7f9534df456bdab6f082cb5786d9ab5d0c0106 100644 (file)
@@ -4,7 +4,6 @@
 
   <module value="com.intellij.modules.platform"/>
   <module value="com.intellij.modules.lang"/>
-  <module value="com.intellij.modules.vcs"/>
   <module value="com.intellij.modules.xdebugger"/>
   <module value="com.intellij.modules.externalSystem"/>
 
@@ -26,7 +25,6 @@
   <xi:include href="/META-INF/Inspect.xml"/>
 
   <xi:include href="/META-INF/PlatformExtensionPoints.xml"/>
-  <xi:include href="/META-INF/VcsExtensionPoints.xml"/>
   <xi:include href="/META-INF/LangExtensionPoints.xml"/>
   <xi:include href="/META-INF/ExternalSystemExtensionPoints.xml"/>
 
     Framework Detection;Power Save Mode;Show control flow group"/>
   </extensions>
 
-  <xi:include href="/META-INF/VcsExtensions.xml"/>
+  <xi:include href="/META-INF/VCS.xml" xpointer="xpointer(/idea-plugin/*)">
+    <xi:fallback/>
+  </xi:include>
 
   <xi:include href="xdebugger.xml"/>
   <xi:include href="/META-INF/GraphPlugin.xml">
     <xi:fallback/>
   </xi:include>
-  <xi:include href="/META-INF/vcs-log.xml">
-    <xi:fallback/>
-  </xi:include>
-  <xi:include href="/META-INF/dvcs.xml">
-    <xi:fallback/>
-  </xi:include>
+
   <xi:include href="built-in-server.xml"/>
   <xi:include href="/idea/ExternalSystemActions.xml"/>
   <xi:include href="/componentSets/ExternalSystemComponents.xml"/>
index 1befad759d78c21f67b9e6b0e135f9904281a63a..ed7ab15a311105dfaea9e6933e0a31ceccda41f1 100644 (file)
@@ -27,7 +27,6 @@
 
   <xi:include href="/componentSets/UICore.xml"/>
   <xi:include href="/componentSets/Editor.xml"/>
-  <xi:include href="/componentSets/VCS.xml"/>
   <xi:include href="/componentSets/Lang.xml"/>
 
   <applicationListeners>
index f6dcc26aaf2b8e67e2779f27d0a9eeb270bb6494..938f8df4766d664375417b694e9aae46dc86fce2 100644 (file)
       <add-to-group group-id="RunContextPopupGroup" anchor="last"/>
     </group>
 
+    <!-- VCS -->
+    <group id="VersionControlsGroup"/>
+
     <!-- Toolbar -->
     <group id="ToolbarFindGroup">
       <add-to-group group-id="MainToolBar" relative-to-action="Back" anchor="before"/>
       <separator/>
       <reference ref="CutCopyPasteGroup"/>
       <action id="ProjectViewEditSource" use-shortcut-of="EditSource" class="com.intellij.ide.actions.ProjectViewEditSourceAction"/>
-      <reference ref="ChangesView.ApplyPatch"/>
       <separator/>
       <reference ref="FindUsages"/>
       <reference ref="FindInPath"/>
       <separator/>
       <reference ref="CutCopyPasteGroup"/>
       <reference ref="EditSource"/>
-      <reference ref="ChangesView.ApplyPatch"/>
       <separator/>
       <reference ref="ViewNavigationBar"/>
       <reference ref="ViewMembersInNavigationBar"/>
       <separator/>
       <reference ref="CutCopyPasteGroup"/>
       <reference ref="EditSource"/>
-      <reference ref="ChangesView.ApplyPatch"/>
       <separator/>
       <reference ref="FindUsages"/>
       <reference ref="FindInPath"/>
       <action id="LocalHistory.PutLabel" class="com.intellij.history.integration.ui.actions.PutLabelAction"/>
 
       <add-to-group group-id="VersionControlsGroup" anchor="first"/>
-      <add-to-group group-id="VcsGroups" anchor="first"/>
-    </group>
-
-    <action id="Vcs.Operations.Popup.Annotate" class="com.intellij.openapi.vcs.actions.ShowAnnotateOperationsPopup">
-      <add-to-group group-id="VcsGeneral.KeymapGroup"/>
-    </action>
-
-    <group id="Vcs.Operations.Popup">
-      <group id="Vcs.Operations.Popup.VcsAware" class="com.intellij.openapi.vcs.actions.VcsQuickListPopupAction$VcsAware">
-        <group id="Vcs.Operations.Popup.VcsNameSeparator" class="com.intellij.openapi.vcs.actions.VcsQuickListPopupAction$VcsNameSeparator"/>
-        <reference id="ChangesView.AddUnversioned"/>
-        <reference id="CheckinProject"/>
-        <reference ref="ChangesView.ToggleCommitUi"/>
-        <reference id="CheckinFiles"/>
-        <reference id="ChangesView.Revert"/>
-        <separator/>
-        <reference id="Vcs.ShowTabbedFileHistory"/>
-        <reference id="Annotate"/>
-        <reference id="Compare.SameVersion"/>
-      </group>
-      <separator/>
-      <group id="Vcs.Operations.Popup.Vcs.Providers"
-             class="com.intellij.openapi.vcs.actions.VcsQuickListPopupAction$Providers"/>
-      <group id="Vcs.Operations.Popup.NonVcsAware" class="com.intellij.openapi.vcs.actions.VcsQuickListPopupAction$NonVcsAware">
-        <reference id="Start.Use.Vcs"/>
-      </group>
-      <separator/>
-      <group class="com.intellij.openapi.vcs.actions.ShowAnnotateOperationsPopup$Group" popup="true" id="ShowAnnotateOperationsPopupGroup"/>
-      <separator text="Local History"/>
-      <reference id="LocalHistory.ShowHistory"/>
-      <reference id="LocalHistory.PutLabel"/>
     </group>
 
     <group id="TestTreePopupMenu">
         <reference ref="Stop"/>
         <separator text="type.small"/>
         <separator text="type.large"/>
-        <group id="TouchBarDefaultOptionalGroup">
-          <reference ref="Vcs.UpdateProject"/>
-          <reference ref="CheckinProject"/>
-          <reference ref="ChangesView.ToggleCommitUi"/>
-        </group>
+        <group id="TouchBarDefaultOptionalGroup" />
         <group id="TouchBarDefault_ctrl">
           <separator/>
         </group>
index 57efd2c8f11515aebd2a9c38d1507c7abdb147a0..81a7c0b8a41530f3503cb3cbb07d68370926342d 100644 (file)
@@ -25,7 +25,6 @@
   </actions>
 
   <xi:include href="/idea/PlatformActions.xml" xpointer="xpointer(/idea-plugin/*)"/>
-  <xi:include href="/idea/VcsActions.xml" xpointer="xpointer(/idea-plugin/*)"/>
   <xi:include href="/idea/LangActions.xml" xpointer="xpointer(/idea-plugin/*)"/>
   <xi:include href="/idea/StatisticsEventLog.xml" xpointer="xpointer(/idea-plugin/*)"/>
 
index 1f708b4e2e265445f805d325ab1d6d3571f5bf58..b0aeea340ba38912cc8eacd286f037234af2b2c4 100644 (file)
@@ -6,6 +6,7 @@
       <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
       <sourceFolder url="file://$MODULE_DIR$/testSrc" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/gen" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/resources" type="java-resource" />
     </content>
     <orderEntry type="inheritedJdk" />
     <orderEntry type="sourceFolder" forTests="false" />
similarity index 76%
rename from platform/platform-resources/src/componentSets/VCS.xml
rename to platform/vcs-impl/resources/META-INF/VCS.xml
index 3cdf842e539852c53aebaaad0d8166646e7fe453..d97c1e404759d0abf6f935abfdb8a479d0ae858d 100644 (file)
@@ -1,4 +1,21 @@
-<idea-plugin>
+<idea-plugin xmlns:xi="http://www.w3.org/2001/XInclude">
+
+  <module value="com.intellij.modules.vcs"/>
+
+  <extensionPoints>
+    <xi:include href="/META-INF/VcsExtensionPoints.xml" xpointer="xpointer(/idea-plugin/extensionPoints/*)"/>
+  </extensionPoints>
+
+  <xi:include href="/META-INF/VcsExtensions.xml" xpointer="xpointer(/idea-plugin/*)"/>
+  <xi:include href="/META-INF/VcsActions.xml" xpointer="xpointer(/idea-plugin/*)"/>
+
+  <xi:include href="/META-INF/vcs-log.xml" xpointer="xpointer(/idea-plugin/*)">
+    <xi:fallback/>
+  </xi:include>
+  <xi:include href="/META-INF/dvcs.xml" xpointer="xpointer(/idea-plugin/*)">
+    <xi:fallback/>
+  </xi:include>
+
   <extensions defaultExtensionNs="com.intellij">
     <fileType language="IgnoreLang" extensions="ignore" fieldName="INSTANCE" name="IgnoreLang file"
               implementationClass="com.intellij.openapi.vcs.changes.ignore.lang.IgnoreFileType"/>
similarity index 90%
rename from platform/platform-resources/src/idea/VcsActions.xml
rename to platform/vcs-impl/resources/META-INF/VcsActions.xml
index 7f0cf271d065bbbd962e928643c8cf179008a963..67420ec0a3e420e7d89218043f90782771ee01b3 100644 (file)
     <action id="Vcs.ShowDiffWithLocal" class="com.intellij.openapi.vcs.history.actions.ShowDiffAfterWithLocalAction"/>
     <action id="Vcs.VcsClone" class="com.intellij.openapi.wm.impl.welcomeScreen.GetFromVersionControlAction"/>
     <group class="com.intellij.openapi.vcs.actions.VcsActionGroup" id="VcsGroup"/>
+    <action id="Vcs.UpdateProject" class="com.intellij.openapi.vcs.update.CommonUpdateProjectAction" icon="AllIcons.Actions.CheckOut">
+      <keyboard-shortcut first-keystroke="control T" keymap="$default"/>
+    </action>
 
-    <group class="com.intellij.openapi.vcs.actions.VcsGroupsWrapper" id="VcsFileGroupPopup" popup="true"/>
-
-    <group id="VersionControlsGroup">
-      <reference ref="VcsFileGroupPopup"/>
+    <group class="com.intellij.openapi.vcs.actions.VcsGroupsWrapper" id="VcsFileGroupPopup" popup="true">
+      <add-to-group group-id="VersionControlsGroup" />
     </group>
 
     <group id="GoToChangeMarkerGroup">
     </group>
     <action id="VcsShowCurrentChangeMarker" class="com.intellij.openapi.vcs.actions.ShowChangeMarkerAction$Current"/>
 
+    <group id="VcsTouchBarGroup">
+      <reference ref="Vcs.UpdateProject"/>
+      <reference ref="CheckinProject"/>
+      <reference ref="ChangesView.ToggleCommitUi"/>
+      <add-to-group group-id="TouchBarDefaultOptionalGroup" anchor="first" />
+    </group>
+
     <!-- Main menu | Version Control -->
     <group id="VcsGroups" popup="true">
+      <reference ref="LocalHistory" />
       <action id="Start.Use.Vcs" class="com.intellij.ide.actions.StartUseVcsAction"/>
       <separator/>
       <group class="com.intellij.openapi.vcs.actions.VcsActionGroup" id="VcsGlobalGroup">
                 class = "com.intellij.openapi.vcs.actions.VcsQuickListPopupAction"/>
         <reference ref="CheckinProject"/>
         <reference ref="ChangesView.ToggleCommitUi"/>
-        <action id="Vcs.UpdateProject" class="com.intellij.openapi.vcs.update.CommonUpdateProjectAction" icon="AllIcons.Actions.CheckOut">
-          <keyboard-shortcut first-keystroke="control T" keymap="$default"/>
-        </action>
+        <reference ref="Vcs.UpdateProject" />
         <action id="Vcs.IntegrateProject" class="com.intellij.openapi.vcs.update.CommonIntegrateProjectAction"/>
         <action id="Vcs.RefreshStatuses" class="com.intellij.openapi.vcs.actions.RefreshStatuses"/>
         <separator/>
         <group id="Vcs.Specific" class="com.intellij.ide.actions.NonEmptyActionGroup"/>
         <separator/>
         <action id="ChangesView.CreatePatch" class="com.intellij.openapi.vcs.changes.actions.CreatePatchAction" icon="AllIcons.Vcs.Patch"/>
-        <action id="ChangesView.ApplyPatch" class="com.intellij.openapi.vcs.changes.patch.ApplyPatchAction"/>
+        <action id="ChangesView.ApplyPatch" class="com.intellij.openapi.vcs.changes.patch.ApplyPatchAction">
+          <add-to-group group-id="ProjectViewPopupMenu" relative-to-action="ProjectViewEditSource" anchor="after" />
+          <add-to-group group-id="NavbarPopupMenu" relative-to-action="EditSource" anchor="after" />
+          <add-to-group group-id="FavoritesViewPopupMenu" relative-to-action="EditSource" anchor="after" />
+        </action>
         <action id="ChangesView.ApplyPatchFromClipboard" class="com.intellij.openapi.vcs.changes.patch.ApplyPatchFromClipboardAction"/>
         <action id="ChangesView.Shelve" class="com.intellij.openapi.vcs.changes.shelf.ShelveChangesAction" icon="AllIcons.Vcs.Shelve"/>
       </group>
       <add-to-group group-id="AnalyzeStacktraceToolbar" anchor="first" />
     </action>
 
+    <action id="Vcs.Operations.Popup.Annotate" class="com.intellij.openapi.vcs.actions.ShowAnnotateOperationsPopup">
+      <add-to-group group-id="VcsGeneral.KeymapGroup"/>
+    </action>
+
+    <group id="Vcs.Operations.Popup">
+      <group id="Vcs.Operations.Popup.VcsAware" class="com.intellij.openapi.vcs.actions.VcsQuickListPopupAction$VcsAware">
+        <group id="Vcs.Operations.Popup.VcsNameSeparator" class="com.intellij.openapi.vcs.actions.VcsQuickListPopupAction$VcsNameSeparator"/>
+        <reference id="ChangesView.AddUnversioned"/>
+        <reference id="CheckinProject"/>
+        <reference ref="ChangesView.ToggleCommitUi"/>
+        <reference id="CheckinFiles"/>
+        <reference id="ChangesView.Revert"/>
+        <separator/>
+        <reference id="Vcs.ShowTabbedFileHistory"/>
+        <reference id="Annotate"/>
+        <reference id="Compare.SameVersion"/>
+      </group>
+      <separator/>
+      <group id="Vcs.Operations.Popup.Vcs.Providers"
+             class="com.intellij.openapi.vcs.actions.VcsQuickListPopupAction$Providers"/>
+      <group id="Vcs.Operations.Popup.NonVcsAware" class="com.intellij.openapi.vcs.actions.VcsQuickListPopupAction$NonVcsAware">
+        <reference id="Start.Use.Vcs"/>
+      </group>
+      <separator/>
+      <group class="com.intellij.openapi.vcs.actions.ShowAnnotateOperationsPopup$Group" popup="true" id="ShowAnnotateOperationsPopupGroup"/>
+      <separator text="Local History"/>
+      <reference id="LocalHistory.ShowHistory"/>
+      <reference id="LocalHistory.PutLabel"/>
+    </group>
+
   </actions>
 </idea-plugin>
similarity index 99%
rename from platform/platform-resources/src/META-INF/VcsExtensionPoints.xml
rename to platform/vcs-impl/resources/META-INF/VcsExtensionPoints.xml
index fdbb5930468523a16c4560faca6da10b12065fae..015650919010ecb368261e4703149f03a64580cb 100644 (file)
@@ -31,7 +31,6 @@
 
     <extensionPoint name="checkinHandlerFactory"
                     interface="com.intellij.openapi.vcs.checkin.CheckinHandlerFactory"
-                    area="IDEA_PROJECT"
                     dynamic="true"/>
 
     <extensionPoint name="vcsCheckinHandlerFactory"
similarity index 95%
rename from platform/platform-resources/src/META-INF/VcsExtensions.xml
rename to platform/vcs-impl/resources/META-INF/VcsExtensions.xml
index 8fdd8acfdd5be97fabf0a8eb6223c28c17708488..8cbd6b65870405c4c6c1543d871dc0e28db5074e 100644 (file)
@@ -8,6 +8,9 @@
     <applicationService serviceImplementation="com.intellij.openapi.vcs.actions.AnnotationsSettings"/>
     <applicationService serviceInterface="com.intellij.vfs.AsyncVfsEventsPostProcessor"
                         serviceImplementation="com.intellij.vfs.AsyncVfsEventsPostProcessorImpl"/>
+    <applicationService serviceInterface="com.intellij.conversion.ConversionService"
+                        serviceImplementation="com.intellij.impl.ConversionServiceImpl"
+                        overrides="true"/>
 
     <projectService serviceInterface="com.intellij.openapi.vcs.changes.ChangeListManager"
                     serviceImplementation="com.intellij.openapi.vcs.changes.ChangeListManagerImpl" preload="notHeadless"/>
@@ -15,8 +18,6 @@
     <projectService serviceInterface="com.intellij.openapi.vcs.AbstractVcsHelper"
                     serviceImplementation="com.intellij.openapi.vcs.impl.AbstractVcsHelperImpl"/>
     <projectService serviceImplementation="com.intellij.openapi.vcs.IssueNavigationConfiguration"/>
-    <projectService serviceInterface="com.intellij.openapi.diff.DirDiffManager"
-                    serviceImplementation="com.intellij.openapi.diff.impl.dir.DirDiffManagerImpl"/>
     <projectService serviceImplementation="com.intellij.openapi.vcs.VcsConfiguration"/>
     <projectService serviceImplementation="com.intellij.openapi.vcs.contentAnnotation.VcsContentAnnotationSettings"/>
     <projectService serviceInterface="com.intellij.openapi.vcs.roots.VcsRootDetector"
 
     <statusBarWidgetProvider implementation="com.intellij.openapi.vcs.changes.committed.IncomingChangesIndicatorProvider"/>
     <editorNotificationProvider implementation="com.intellij.openapi.vcs.changes.committed.OutdatedVersionNotifier"/>
+    <editorTabTitleProvider implementation="com.intellij.openapi.vcs.vfs.VcsFileEditorTabTitleProvider"/>
+
+    <customizableActionGroupProvider implementation="com.intellij.openapi.vcs.ui.VcsCustomizableActionGroupProvider"/>
 
     <changesGroupingPolicy key="directory" id="directory"
                            implementationClass="com.intellij.openapi.vcs.changes.ui.DirectoryChangesGroupingPolicy$Factory"/>
     <completion.contributor language="TEXT" implementationClass="com.intellij.openapi.vcs.changes.ChangeListCompletionContributor"
                             order="first"/>
 
+    <projectService serviceInterface="com.intellij.openapi.vcs.impl.projectlevelman.AllVcsesI"
+                    serviceImplementation="com.intellij.openapi.vcs.impl.projectlevelman.AllVcses"/>
+
+    <projectService serviceImplementation="com.intellij.openapi.vcs.changes.RemoteRevisionsCache"/>
+    <projectService serviceImplementation="com.intellij.openapi.vcs.VcsFileListenerContextHelper"/>
+
     <vcs.fileStatusProvider implementation="com.intellij.openapi.vcs.changes.conflicts.ChangelistConflictFileStatusProvider"/>
     <writingAccessProvider implementation="com.intellij.openapi.vcs.changes.conflicts.ChangelistConflictAccessProvider"/>
     <writingAccessProvider implementation="com.intellij.openapi.vcs.changes.shelf.ShelfFileWritingAccessProvider"/>
     <getDataRule key="vcs.ChangesSelection" implementationClass="com.intellij.openapi.vcs.changes.VcsChangesSelectionRule"/>
     <jbProtocolCommand implementation="com.intellij.openapi.vcs.checkout.JBProtocolCheckoutCommand"/>
     <diff.DiffExtension implementation="com.intellij.openapi.vcs.actions.AnnotateDiffViewerAction$MyDiffExtension"/>
-    <diff.DiffExtension implementation="com.intellij.diff.actions.ShowBlankDiffWindowDiffExtension"/>
+
+    <patch.extension implementation="com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP"/>
+    <patch.extension implementation="com.intellij.openapi.diff.impl.patch.CharsetEP"/>
 
     <openapi.vcs.actions.AnnotateToggleAction.Provider implementation="com.intellij.openapi.vcs.actions.AnnotateLocalFileAction$Provider"/>
     <openapi.vcs.actions.AnnotateToggleAction.Provider implementation="com.intellij.openapi.vcs.actions.AnnotateVcsVirtualFileAction$Provider"/>
     <checkinHandlerFactory implementation="com.intellij.tools.ExternalToolsCheckinHandlerFactory"/>
     <findInProjectExtension implementation="com.intellij.vcs.changes.ChangeListsFindInProjectExtension" />
     <silentChangeVetoer implementation="com.intellij.codeInsight.daemon.VcsSilentChangeVetoer" />
+
+    <statistics.projectUsagesCollector implementation="com.intellij.openapi.vcs.statistics.VcsOptionsUsagesCollector"/>
+    <statistics.projectUsagesCollector implementation="com.intellij.openapi.vcs.statistics.VcsUsagesCollector"/>
   </extensions>
 
   <applicationListeners>
index e81c6a95e563977db9261eee9f392b94bb777e7a..c32039561378efe5fd60fc9993fab2e792bd482a 100644 (file)
@@ -18,6 +18,7 @@ import com.intellij.psi.codeStyle.ChangedRangesInfo;
 import com.intellij.util.Function;
 import com.intellij.util.SmartList;
 import com.intellij.util.containers.ContainerUtil;
+import com.intellij.vcsUtil.VcsFileUtil;
 import com.intellij.vcsUtil.VcsUtil;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
@@ -322,4 +323,9 @@ public final class VcsFacadeImpl extends VcsFacade {
       o.run();
     }
   }
+
+  @Override
+  public void markFilesDirty(@NotNull Project project, @NotNull List<? extends VirtualFile> virtualFiles) {
+    VcsFileUtil.markFilesDirty(project, virtualFiles);
+  }
 }