Files
openide/plugins/git4idea/resources/intellij.vcs.git.xml
Nikita Iarychenko aa98668729 OPENIDE add missing copyrights
(cherry picked from commit ee436bd1a4e9f0357eccd25bb2f956f1c2a77079)
2025-04-30 13:27:35 +04:00

911 lines
58 KiB
XML

<!-- Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
<!-- -->
<!-- Modified by Nikita Iarychenko at 2025 as part of the OpenIDE project(https://openide.ru). -->
<!-- Any modifications are available on the same license terms as the original source code. -->
<idea-plugin package="git4idea">
<resource-bundle>messages.GitBundle</resource-bundle>
<dependencies>
<plugin id="com.intellij.modules.vcs"/>
<module name="intellij.platform.collaborationTools"/>
</dependencies>
<actions resource-bundle="messages.GitBundle">
<action id="Git.Init" class="git4idea.actions.GitInit">
<add-to-group group-id="Vcs.Import"/>
<add-to-group group-id="Vcs.Operations.Popup.NonVcsAware" relative-to-action="Start.Use.Vcs" anchor="before"/>
<add-to-group group-id="Vcs.ToolWindow.CreateRepository"/>
<override-text place="Vcs.Toolbar.Widget"/>
</action>
<action id="Git.Log" class="git4idea.log.GitShowExternalLogAction">
<add-to-group group-id="Vcs.Browse"/>
</action>
<action class="git4idea.log.GitBrowseRepoAtRevisionAction" id="Git.BrowseRepoAtRevision"/>
<group class="git4idea.actions.GitCheckoutActionGroup" id="Git.CheckoutGroup" searchable="false"/>
<group class="git4idea.ui.branch.GitLogBranchOperationsActionGroup" id="Git.BranchOperationGroup"/>
<action class="git4idea.actions.GitCheckoutRevisionAction" id="Git.CheckoutRevision"/>
<action class="git4idea.actions.GitCreateNewBranchAction" id="Git.CreateNewBranch"/>
<action class="git4idea.actions.GitCreateTagAction" id="Git.CreateNewTag"/>
<action id="Git.PushUpToCommit" class="git4idea.actions.GitPushUpToCommitAction"/>
<action id="Git.Reset.In.Log" class="git4idea.reset.GitResetAction" icon="AllIcons.Actions.Rollback"/>
<action id="Git.Revert.In.Log" class="git4idea.revert.GitRevertAction"/>
<action id="Git.Uncommit" class="git4idea.reset.GitUncommitAction"/>
<action id="Git.Reword.Commit" class="git4idea.rebase.GitRewordAction"/>
<action id="Git.Squash.Commits" class="git4idea.rebase.log.squash.GitSquashLogAction"/>
<action id="Git.Drop.Commits" class="git4idea.rebase.log.drop.GitDropLogAction"/>
<action id="Git.New.Branch.In.Log" class="git4idea.ui.branch.dashboard.BranchesDashboardActions$NewBranchAction"/>
<action id="Git.Log.Branches.Change.Branch.Filter"
class="git4idea.ui.branch.dashboard.BranchesDashboardActions$UpdateBranchFilterInLogAction">
<mouse-shortcut keystroke="button1 doubleClick" keymap="$default"/>
<keyboard-shortcut first-keystroke="ENTER" keymap="$default"/>
</action>
<action id="Git.Log.Branches.Navigate.Log.To.Selected.Branch"
icon="AllIcons.General.Locate"
use-shortcut-of="SelectIn"
class="git4idea.ui.branch.dashboard.BranchesDashboardActions$NavigateLogToSelectedBranchAction"/>
<action id="Git.Log.Hide.Branches" class="git4idea.ui.branch.dashboard.BranchesDashboardActions$HideBranchesAction"
icon="AllIcons.Actions.ArrowCollapse"/>
<group id="Git.Log.Branches.Settings" popup="true" icon="AllIcons.General.GearPlain"
class="com.intellij.ide.actions.NonTrivialActionGroup">
<separator key="group.Git.Log.Branches.Settings.Separator.text"/>
<action id="Git.Log.Branches.Change.Branch.Filter.On.Selection"
class="git4idea.ui.branch.dashboard.BranchesDashboardActions$ChangeBranchFilterAction"/>
<action id="Git.Log.Branches.Navigate.Log.To.Branch.On.Selection"
class="git4idea.ui.branch.dashboard.BranchesDashboardActions$NavigateLogToBranchAction"/>
<separator/>
<action id="git.branches.show.tags" class="git4idea.ui.branch.tree.GitBranchesTreeShowTagsAction"/>
</group>
<group id="Git.Log.Branches.Grouping.Settings" icon="AllIcons.Actions.GroupBy"
class="git4idea.ui.branch.dashboard.BranchesDashboardActions$GroupingSettingsGroup">
<separator key="group.Git.Log.Branches.Grouping.Settings.text"/>
<action id="Git.Log.Branches.GroupBy.Directory"
icon="AllIcons.Actions.GroupByPackage"
class="git4idea.ui.branch.dashboard.BranchesDashboardActions$GroupBranchByDirectoryAction"/>
<action id="Git.Log.Branches.GroupBy.Repository"
class="git4idea.ui.branch.dashboard.BranchesDashboardActions$GroupBranchByRepositoryAction"/>
</group>
<action id="Git.Fixup.To.Commit" class="git4idea.rebase.GitCommitFixupBySubjectAction"/>
<action id="Git.Squash.Into.Commit" class="git4idea.rebase.GitCommitSquashBySubjectAction"/>
<action id="Git.Interactive.Rebase" class="git4idea.rebase.GitInteractiveRebaseAction"/>
<action id="Git.Commit.And.Push.Executor" class="git4idea.actions.GitCommitAndPushExecutorAction">
<add-to-group group-id="Vcs.Commit.PrimaryCommitActions"/>
<keyboard-shortcut first-keystroke="control alt K" keymap="$default"/>
</action>
<group id="Git.FileActions">
<reference ref="CheckinFiles"/>
<action id="Git.Add" class="com.intellij.openapi.vcs.changes.actions.ScheduleForAdditionWithIgnoredFilesConfirmationAction"
icon="AllIcons.General.Add" use-shortcut-of="ChangesView.AddUnversioned"/>
<separator/>
<reference ref="Annotate"/>
<reference ref="Compare.SameVersion"/>
<reference ref="Compare.Selected"/>
<action id="Git.CompareWithBranch" class="git4idea.actions.GitCompareWithRefAction"/>
<reference ref="Vcs.ShowTabbedFileHistory"/>
<reference id="Vcs.ShowHistoryForBlock"/>
</group>
<group id="Git.MainMenu.FileActions" class="git4idea.actions.GitFileActionGroup" popup="true">
<reference ref="Git.FileActions"/>
</group>
<group id="Git.MainMenu.RebaseActions" class="git4idea.actions.GitRepositoryStateActionGroup$Rebase" popup="true">
<action id="Git.Rebase.Abort" class="git4idea.actions.GitRebaseAbort"/>
<action id="Git.Rebase.Continue" class="git4idea.actions.GitRebaseContinue"/>
<action id="Git.Rebase.Skip" class="git4idea.actions.GitRebaseSkip"/>
</group>
<group id="Git.MainMenu.MergeActions" class="git4idea.actions.GitRepositoryStateActionGroup$Merge" icon="AllIcons.Vcs.Merge">
<action id="Git.Merge.Abort" class="git4idea.actions.GitAbortOperationAction$Merge"/>
</group>
<group id="Git.MainMenu.LocalChanges" popup="true">
<reference ref="ChangesView.Shelve"/>
<reference ref="Vcs.Show.Shelf"/>
<action id="Git.Stash" class="git4idea.actions.GitStash"/>
<action id="Git.Unstash" class="git4idea.actions.GitUnstash"/>
<reference ref="ChangesView.Revert"/>
<reference ref="Vcs.UmlDiff"/>
</group>
<group id="Git.MainMenu" class="git4idea.actions.GitMainMenuActionGroup" searchable="false">
<reference ref="CheckinProject"/>
<reference ref="Vcs.Push"/>
<reference ref="Vcs.UpdateProject"/>
<action id="Git.Pull" class="git4idea.actions.GitPull"/>
<action id="Git.Fetch" class="git4idea.actions.GitFetch" icon="AllIcons.Vcs.Fetch"/>
<action id="Git.Unshallow" class="git4idea.actions.GitUnshallowRepositoryAction"/>
<separator/>
<action id="Git.Merge" class="git4idea.actions.GitMerge" icon="AllIcons.Vcs.Merge"/>
<reference ref="Git.MainMenu.MergeActions"/>
<action id="Git.Rebase" class="git4idea.actions.GitRebase"/>
<reference ref="Git.MainMenu.RebaseActions"/>
<action id="Git.ResolveConflicts" class="git4idea.actions.GitResolveConflictsAction"/>
<separator/>
<action id="Git.Branches" class="git4idea.ui.branch.GitBranchesAction" icon="AllIcons.Vcs.Branch">
<keyboard-shortcut first-keystroke="control shift BACK_QUOTE" keymap="$default"/>
<keyboard-shortcut first-keystroke="meta shift BACK_QUOTE" keymap="Mac OS X" remove="true"/>
<keyboard-shortcut first-keystroke="meta shift BACK_QUOTE" keymap="Mac OS X 10.5+" remove="true"/>
</action>
<reference ref="Git.CreateNewBranch"/>
<action id="Git.Tag" class="git4idea.actions.GitTag"/>
<action id="Git.Reset" class="git4idea.actions.GitResetHead"/>
<separator/>
<reference ref="Vcs.Show.Log"/>
<reference id="Patch.MainMenu"/>
<reference id="Git.MainMenu.LocalChanges"/>
<reference id="Git.MainMenu.FileActions"/>
<separator/>
<action id="Git.Configure.Remotes" class="git4idea.remote.GitConfigureRemotesAction"/>
<action id="Git.Clone" class="git4idea.actions.GitCloneAction"/>
<separator/>
<reference id="Vcs.QuickListPopupAction"/>
<separator/>
<action id="Git.Revert.Abort" class="git4idea.actions.GitAbortOperationAction$Revert"/>
<action id="Git.CherryPick.Abort" class="git4idea.actions.GitAbortOperationAction$CherryPick"/>
<add-to-group group-id="VcsGroups" relative-to-action="Vcs.MainMenu" anchor="after"/>
</group>
<group id="GitRepositoryActions">
<reference ref="Vcs.Push"/>
<reference ref="Git.Pull"/>
<reference ref="Git.Fetch"/>
<separator/>
<reference ref="Git.Merge"/>
<reference ref="Git.MainMenu.MergeActions"/>
<reference ref="Git.Rebase"/>
<reference ref="Git.MainMenu.RebaseActions"/>
<separator/>
<reference ref="Git.Branches"/>
<reference ref="Git.CreateNewBranch"/>
<reference ref="Git.Tag"/>
<reference ref="Git.Reset"/>
<separator/>
<reference ref="Git.Stash"/>
<reference ref="Git.Unstash"/>
<separator/>
<reference ref="Git.Configure.Remotes"/>
<reference ref="Git.Clone"/>
<separator/>
<reference ref="Git.Revert.Abort"/>
<reference ref="Git.CherryPick.Abort"/>
</group>
<action id="git.update.force.pushed.branch" class="git4idea.actions.branch.GitForcePushedBranchUpdateAction" internal="true"/>
<group id="Git.Ongoing.Rebase.Actions" popup="false">
<reference id="Git.Rebase.Abort"/>
<reference id="Git.Merge.Abort"/>
<reference id="Git.CherryPick.Abort"/>
<reference id="Git.Revert.Abort"/>
<reference id="Git.Rebase.Continue"/>
<reference id="Git.Rebase.Skip"/>
</group>
<group id="Git.Branches.Popup.Settings" class="git4idea.ui.branch.popup.GitBranchesTreePopupSettings" icon="AllIcons.Actions.More">
<group id="git.branches.popup.filter.by.separator" class="git4idea.ui.branch.popup.GitBranchesTreePopupFilterSeparatorWithText"/>
<action id="git.branches.popup.filter.by.action" class="git4idea.ui.branch.popup.GitBranchesTreePopupFilterByAction"/>
<action id="git.branches.popup.filter.by.repository" class="git4idea.ui.branch.popup.GitBranchesTreePopupFilterByRepository"/>
<separator/>
<action id="git.branches.group.by.prefix" class="git4idea.ui.branch.popup.GitBranchesTreePopupGroupByPrefixAction"/>
<action class="git4idea.ui.branch.popup.GitBranchesTreePopupTrackReposSynchronouslyAction"/>
<action id="git.branches.show.recent" class="git4idea.ui.branch.popup.GitBranchesTreePopupShowRecentBranchesAction"/>
<reference ref="git.branches.show.tags"/>
<action id="git.branches.popup.resize" class="git4idea.ui.branch.popup.GitBranchesTreePopupResizeAction"/>
</group>
<group id="Git.Compare.With.Branch.Popup.Settings" class="git4idea.ui.branch.popup.GitBranchesTreePopupSettings" icon="AllIcons.Actions.More">
<reference ref="git.branches.group.by.prefix"/>
<reference ref="git.branches.show.recent"/>
<reference ref="git.branches.show.tags"/>
<reference ref="git.branches.popup.resize"/>
</group>
<group id="Git.Branches.List">
<reference ref="Git.Ongoing.Rebase.Actions"/>
<action class="git4idea.actions.branch.GitNewBranchAction"/>
<action class="git4idea.actions.branch.GitCheckoutFromInputAction"/>
</group>
<group id="Git.Branches.Popup.SpeedSearch">
<reference ref="EditorBackSpace"/>
<reference ref="EditorCut"/>
<reference ref="EditorPaste"/>
<reference ref="$Undo"/>
</group>
<group id="Git.Branch">
<action class="git4idea.actions.ref.GitCheckoutAction"/>
<action class="git4idea.actions.branch.GitCheckoutAsNewBranch"/>
<action class="git4idea.actions.branch.GitCheckoutWithRebaseAction"/>
<separator/>
<action class="git4idea.actions.branch.GitCompareWithBranchAction"/>
<action class="git4idea.actions.ref.GitShowDiffWithRefAction"/>
<separator/>
<action class="git4idea.actions.branch.GitRebaseBranchAction"/>
<action class="git4idea.actions.ref.GitMergeRefAction"/>
<separator/>
<action class="git4idea.actions.branch.GitUpdateSelectedBranchAction"/>
<action class="git4idea.actions.branch.GitPushBranchAction"/>
<action class="git4idea.actions.branch.GitPullBranchAction$WithRebase"/>
<action class="git4idea.actions.branch.GitPullBranchAction$WithMerge"/>
<separator/>
<group class="git4idea.actions.tag.GitPushTagsActionGroup"/>
<separator/>
<action class="git4idea.actions.branch.GitRenameBranchAction" id="Git.Rename.Local.Branch"/>
<action class="git4idea.actions.ref.GitDeleteRefAction"/>
</group>
<action class="git4idea.actions.tag.GitPushTagAction" id="Git.Tag.Push"/>
<group id="Git.Menu" class="git4idea.actions.GitMenu" popup="true" searchable="false">
<reference ref="Git.FileActions"/>
<separator/>
<reference ref="ChangesView.Revert"/>
<separator/>
<reference ref="GitRepositoryActions"/>
<add-to-group group-id="VcsGlobalGroup" anchor="after" relative-to-action="Vcs.Specific"/>
</group>
<group id="Git.ContextMenu" class="git4idea.actions.GitMenu" popup="true" searchable="false">
<reference ref="Git.FileActions"/>
<reference ref="Show.Current.Revision"/>
<reference ref="ChangesView.Revert"/>
<reference ref="ChangesView.RevertFiles"/>
<separator/>
<reference ref="Git.ResolveConflicts"/>
<separator/>
<reference ref="GitRepositoryActions"/>
<add-to-group group-id="VcsGroup" anchor="last"/>
</group>
<action id="Git.ShowBranches" class="git4idea.actions.GitBranchesComboBoxAction" icon="AllIcons.Vcs.Branch"
use-shortcut-of="Git.Branches">
<add-to-group group-id="SegmentedVcsActionsBarGroup" anchor="first"/>
</action>
<action id="Git.Toolbar.ShowMoreActions" class="git4idea.actions.GitQuickActionsToolbarPopup">
<add-to-group group-id="SegmentedVcsActionsBarGroup" anchor="last"/>
</action>
<action id="Git.Log.Show.Command" class="git4idea.log.command.ShowGitLogCommandAction" text="Show Git Log for Command" internal="true"/>
<!--This group is empty and unused, left for plugins compatibility.-->
<group id="Git.LogContextMenu"/>
<group id="Git.FileHistory.ContextMenu">
<reference id="Git.Revert.In.Log"/>
<separator/>
<reference id="Git.CreateNewTag"/>
<separator/>
<add-to-group group-id="Vcs.FileHistory.ContextMenu" relative-to-action="VcsHistoryActionsGroup" anchor="before"/>
</group>
<group id="Git.Log.ContextMenu.CheckoutBrowse">
<reference id="Git.CheckoutGroup"/>
<reference id="Git.BrowseRepoAtRevision"/>
<add-to-group group-id="Vcs.Log.ContextMenu" relative-to-action="Vcs.Log.CompareRevisions" anchor="before"/>
</group>
<group id="Git.Log.ContextMenu">
<reference id="Git.Reset.In.Log"/>
<reference id="Git.Revert.In.Log"/>
<reference id="Git.Uncommit"/>
<separator/>
<reference id="Git.Reword.Commit"/>
<reference id="Git.Fixup.To.Commit"/>
<reference id="Git.Squash.Into.Commit"/>
<reference id="Git.Drop.Commits"/>
<reference id="Git.Squash.Commits"/>
<reference id="Git.Interactive.Rebase"/>
<reference id="Git.PushUpToCommit"/>
<separator/>
<reference id="Git.BranchOperationGroup"/>
<reference id="Git.CreateNewBranch"/>
<reference id="Git.CreateNewTag"/>
<separator/>
<add-to-group group-id="Vcs.Log.ContextMenu" relative-to-action="Vcs.Log.GoToChild" anchor="before"/>
</group>
<group id="Git.Log.Toolbar">
<action id="Git.Log.DeepCompare" class="git4idea.branch.DeepCompareAction"/>
<add-to-group group-id="Vcs.Log.PresentationSettings" relative-to-action="Vcs.Log.HighlightersActionGroup" anchor="after"/>
</group>
<action id="Git.Log.GitUseSharedLogAction" class="git4idea.actions.GitUseSharedLogAction" internal="true"/>
<action id="Git.Log.GitDumpLogIndexDataAction" class="git4idea.actions.GitDumpLogIndexDataAction" internal="true"/>
<group id="Git.Log.ShareLogIndexData" internal="true">
<reference id="Git.Log.GitUseSharedLogAction"/>
<reference id="Git.Log.GitDumpLogIndexDataAction"/>
</group>
<group id="Git.Log.Internal" internal="true">
<reference id="Git.Log.ShareLogIndexData"/>
<separator/>
<reference id="Git.Log.Show.Command"/>
<add-to-group group-id="Vcs.Log.Internal" anchor="last"/>
</group>
<action id="Git.OpenExcludeFile" class="git4idea.ignore.actions.OpenGitExcludeAction"/>
<group id="Git.Ignore.File" class="git4idea.ignore.actions.GitIgnoreFileActionGroup">
<add-to-group group-id="ChangesViewPopupMenu" anchor="after" relative-to-action="ChangesView.AddUnversioned"/>
<add-to-group group-id="Git.FileActions" anchor="after" relative-to-action="Git.Add"/>
<add-to-group group-id="Unversioned.Files.Dialog.Popup" anchor="after" relative-to-action="$Delete"/>
</group>
<action id="git4idea.commands.TestGitHttpLoginDialogAction" class="git4idea.commands.TestGitHttpLoginDialogAction" internal="true"/>
<action id="CopyPathFromRepositoryRootProvider" class="git4idea.actions.CopyPathFromRepositoryRootProvider">
<add-to-group group-id="CopyFileReference"/>
</action>
<action id="Git.Show.Stage" class="git4idea.index.actions.GitShowStagingAreaAction"/>
<action id="Git.Commit.Stage" class="git4idea.index.actions.GitCommitWithStagingAreaAction" use-shortcut-of="CheckinProject"
icon="AllIcons.Actions.Commit">
<add-to-group group-id="Git.MainMenu" anchor="after" relative-to-action="CheckinProject"/>
<add-to-group group-id="VcsToolbarActions" anchor="after" relative-to-action="CheckinProject"/>
<add-to-group group-id="VcsNavBarToolbarActions" anchor="after" relative-to-action="CheckinProject"/>
</action>
<action id="Git.Stage.Enable" class="git4idea.index.actions.GitEnableStagingAreaAction"/>
<action id="Git.Stage.Disable" class="git4idea.index.actions.GitDisableStagingAreaAction"/>
<action id="Git.Stage.Add" class="git4idea.index.actions.GitAddAction" use-shortcut-of="ChangesView.AddUnversioned"/>
<action id="Git.Stage.Add.No.Content" class="git4idea.index.actions.GitAddWithoutContent"/>
<action id="Git.Stage.Reset" class="git4idea.index.actions.GitResetAction" use-shortcut-of="ChangesView.Revert"/>
<action id="Git.Stage.Revert" class="git4idea.index.actions.GitRevertAction" use-shortcut-of="ChangesView.Revert"/>
<action id="Git.Stage.AcceptTheirs" class="git4idea.index.actions.GitStageAcceptTheirsAction"/>
<action id="Git.Stage.AcceptYours" class="git4idea.index.actions.GitStageAcceptYoursAction"/>
<action id="Git.Stage.Merge" class="git4idea.index.actions.GitStageMergeConflictAction" icon="AllIcons.Vcs.Merge"/>
<action id="Git.Stage.ThreeSideDiff" class="git4idea.index.actions.GitStageThreeSideDiffAction"/>
<action id="Git.Stage.ToggleIgnored" class="git4idea.index.actions.GitToggleIgnoredFilesAction"/>
<action id="Git.Stage.ToggleCommitAll" class="git4idea.index.actions.GitToggleCommitAllAction">
<add-to-group group-id="CommitView.GearActions"/>
</action>
<action id="Git.Stage.Add.All" class="git4idea.index.actions.GitStageAllAction"/>
<action id="Git.Stage.Add.Tracked" class="git4idea.index.actions.GitStageTrackedAction" icon="AllIcons.General.Add"/>
<action id="Git.Stage.Show.Staged" class="git4idea.index.actions.GitShowStagedVersionAction"/>
<action id="Git.Stage.Show.Local" class="git4idea.index.actions.GitShowLocalVersionAction"/>
<action id="Git.Stage.Compare.Local.Staged" class="git4idea.index.actions.GitStageCompareLocalWithStagedAction"/>
<action id="Git.Stage.Compare.Staged.Local" class="git4idea.index.actions.GitStageCompareStagedWithLocalAction"/>
<action id="Git.Stage.Compare.Staged.Head" class="git4idea.index.actions.GitStageCompareStagedWithHeadAction"/>
<action id="Git.Stage.Compare.Three.Versions" class="git4idea.index.actions.GitStageCompareThreeVersionsAction"/>
<action id="Git.Stage.Stash.Files" class="git4idea.index.actions.GitStageStashFilesAction"/>
<group id="Git.ChangesView.Conflicts">
<action id="Git.ChangesView.Merge" class="git4idea.merge.GitMergeConflictAction" icon="AllIcons.Vcs.Merge"/>
<action id="Git.ChangesView.AcceptTheirs" class="git4idea.merge.GitAcceptTheirsAction"/>
<action id="Git.ChangesView.AcceptYours" class="git4idea.merge.GitAcceptYoursAction"/>
<separator/>
<add-to-group group-id="ChangesViewPopupMenu" anchor="first"/>
</group>
<action id="Git.Stash.Silently" class="git4idea.index.actions.GitStashSilentlyAction" icon="com.intellij.platform.vcs.impl.icons.PlatformVcsImplIcons.Stash"/>
<group id="Git.Stage.Configure" popup="true">
<separator key="separator.Git.Stage.Configure.display.as"/>
<reference id="Git.Stage.Enable"/>
<reference id="Git.Stage.Disable"/>
<add-to-group group-id="CommitView.GearActions"/>
</group>
<group id="Git.Stage.Toolbar">
<reference id="Diff.ShowDiff"/>
<reference id="ChangesView.Refresh"/>
<reference id="Git.Stage.Add.Tracked"/>
<reference id="Git.Stash.Silently"/>
<group id="Git.Stage.Ui.Settings" icon="AllIcons.Actions.GroupBy" popup="true">
<reference id="ChangesView.GroupBy"/>
<separator key="separator.show"/>
<reference id="Git.Stage.ToggleIgnored"/>
</group>
</group>
<group id="Git.Stage.Tree.Menu">
<reference id="Git.Stage.Merge"/>
<reference id="Git.Stage.AcceptTheirs"/>
<reference id="Git.Stage.AcceptYours"/>
<reference id="Git.Stage.Add"/>
<reference id="Git.Stage.Add.No.Content"/>
<reference id="Git.Stage.Reset"/>
<reference ref="Git.Stage.Stash.Files"/>
<reference id="Git.Stage.Revert"/>
<reference id="$Delete"/>
<reference id="Git.Ignore.File"/>
<separator/>
<reference id="Diff.ShowDiff"/>
<reference ref="Diff.ShowStandaloneDiff"/>
<reference id="Git.Stage.ThreeSideDiff"/>
<reference ref="EditSource"/>
<reference ref="ChangesView.CreatePatchFromChanges"/>
<reference ref="ChangesView.CreatePatchToClipboard"/>
<separator/>
<reference id="Vcs.ShowTabbedFileHistory"/>
<reference id="LocalHistory"/>
</group>
<group id="Git.Stage.Local.File.Menu" popup="false">
<reference id="Git.Stage.Show.Staged"/>
<reference id="Git.Stage.Compare.Local.Staged"/>
<reference id="Git.Stage.Compare.Three.Versions"/>
<add-to-group group-id="Git.ContextMenu" relative-to-action="ChangesView.RevertFiles" anchor="after"/>
</group>
<group id="Git.Stage.Index.File.Menu" popup="true" class="git4idea.index.actions.GitStageIndexFileMenuGroup">
<reference id="Git.Stage.Show.Local"/>
<reference id="Git.Stage.Compare.Staged.Head"/>
<reference id="Git.Stage.Compare.Staged.Local"/>
<reference id="Git.Stage.Compare.Three.Versions"/>
<add-to-group group-id="EditorPopupMenu"/>
</group>
<action id="Git.Stash.Pop" class="git4idea.stash.ui.GitPopStashAction"/>
<action id="Git.Stash.Apply" class="git4idea.stash.ui.GitApplyStashAction"/>
<action id="Git.Stash.UnstashAs" class="git4idea.stash.ui.GitUnstashAsAction"/>
<action id="Git.Stash.Drop" class="git4idea.stash.ui.GitDropStashAction" use-shortcut-of="$Delete"/>
<action id="Git.Stash.Clear" class="git4idea.stash.ui.GitClearStashesAction"/>
<action id="Git.Show.Stash" class="git4idea.stash.ui.GitShowStashToolWindowTabAction">
<add-to-group group-id="Vcs.Show.Toolwindow.Tab"/>
<add-to-group group-id="Git.MainMenu.LocalChanges" relative-to-action="Vcs.Show.Shelf" anchor="after"/>
</action>
<action id="Git.Stash.Refresh" class="git4idea.stash.ui.GitRefreshStashesAction" icon="AllIcons.Actions.Refresh"/>
<action id="Git.Stash.Toggle.Split.Preview" class="git4idea.stash.ui.GitStashToggleSplitPreviewAction" icon="AllIcons.Actions.PreviewDetails">
<add-to-group group-id="Vcs.SavedPatches.ChangesBrowser.Toolbar"/>
</action>
<group id="Git.Stash.Operations.ContextMenu" class="git4idea.stash.ui.GitStashOperationsGroup">
<reference id="Git.Stash.Pop"/>
<reference id="Git.Stash.Apply"/>
<reference id="Git.Stash.UnstashAs"/>
<reference id="Git.Stash.Drop"/>
<reference id="Git.Stash.Clear"/>
<add-to-group group-id="Vcs.SavedPatches.ContextMenu" anchor="first"/>
</group>
<group id="Git.Stash.ChangesBrowser.ContextMenu" class="git4idea.stash.ui.GitStashOperationsGroup">
<reference ref="Vcs.ShowDiffWithLocal.Before"/>
<reference ref="Vcs.EditSource"/>
<reference ref="Vcs.OpenRepositoryVersion"/>
<reference ref="Vcs.ApplySelectedChanges"/>
<add-to-group group-id="Vcs.SavedPatches.ChangesBrowser.ContextMenu"/>
</group>
<group id="Git.Experimental.Branch.Popup.Actions">
<reference ref="Vcs.UpdateProject"/>
<reference ref="CheckinProject"/>
<reference ref="Git.Commit.Stage"/>
<reference ref="Vcs.Push"/>
</group>
<group id="Vcs.ToolbarWidget.CreateRepository" searchable="false">
<group id="Vcs.ToolbarWidget.ShareProject" popup="true" searchable="false">
<reference id="Start.Use.Vcs"/>
</group>
<reference id="Git.Init"/>
<separator/>
<reference id="LocalHistory.ShowProjectHistory"/>
</group>
<group id="MainToolbarVCSGroup">
<action id="main.toolbar.git.Branches" class="git4idea.ui.toolbar.GitToolbarWidgetAction" />
<action id="main.toolbar.git.MergeRebase" class="git4idea.ui.toolbar.GitMergeRebaseWidget"/>
<add-to-group group-id="MainToolbarLeft" relative-to-action="MainToolbarGeneralActionsGroup" anchor="before"/>
</group>
<group id="GitMergeRebaseWidgetGroup">
<reference id="Git.ResolveConflicts"/>
<reference id="Git.Rebase.Continue"/>
<reference id="Git.Rebase.Abort"/>
<reference id="Git.Merge.Abort"/>
<reference id="Git.CherryPick.Abort"/>
<reference id="Git.Revert.Abort"/>
</group>
<group id="GitMainToolbarQuickActions" searchable="false" popup="false">
<add-to-group group-id="MainToolbarQuickActions" relative-to-action="MainToolbarQuickActions.Run" anchor="after"/>
<separator key="MainToolbarQuickActions.vcs.separator"/>
<group id="MainToolbarQuickActions.VCS" class="com.intellij.ide.ui.customization.ToolbarQuickActionsGroup" searchable="false" popup="false"/>
</group>
<group id="Git.Hosting.Open.In.Browser.Group" popup="false">
<add-to-group group-id="RevealGroup"/>
<add-to-group group-id="Vcs.Log.ContextMenu" anchor="last"/>
<add-to-group group-id="VcsHistoryActionsGroup" anchor="last"/>
<add-to-group group-id="VcsHistoryActionsGroup.Toolbar"/>
<add-to-group group-id="VcsSelectionHistoryDialog.Popup" anchor="last"/>
</group>
<group id="Git.Hosting.Copy.Link.Group" popup="false">
<add-to-group group-id="CopyFileReference"/>
<add-to-group group-id="Copy.Paste.Special" relative-to-action="CopyReference" anchor="after"/>
</group>
<reference ref="Git.Unshallow"/>
<action id="gpg.agent.configuration" class="git4idea.commit.signing.GpgAgentConfigurationAction"/>
</actions>
<extensions defaultExtensionNs="com.intellij">
<advancedSetting id="git.clone.recurse.submodules" default="true" groupKey="advanced.settings.git"/>
<advancedSetting id="git.read.content.with" enumClass="git4idea.util.GitTextConvMode" default="FILTERS"
groupKey="advanced.settings.git"/>
<advancedSetting id="git.use.push.force.with.lease" default="true" groupKey="advanced.settings.git"/>
<advancedSetting id="git.update.incoming.outgoing.info" default="true" groupKey="advanced.settings.git"/>
<advancedSetting id="git.use.schannel.on.windows" default="false" groupKey="advanced.settings.git" os="windows"/>
<advancedSetting id="git.branch.cleanup.symbol" default="-" groupKey="advanced.settings.git"/>
<registryKey key="git.execute.with.mediator" defaultValue="true"
description="Use wrapper executable on Windows to support soft Git process cancellation."/>
<registryKey key="git.blocking.read" defaultValue="true"
description="Use blocking mode for git process output reader."/>
<registryKey key="git.allow.stderr.to.stdout.mixing" defaultValue="false"
description="Enables legacy hack for git integration, when some messages from stderr are handled as if they came from stdout."/>
<registryKey key="git.execution.trace" defaultValue="0"
description="Bitmask to control git logging of the commands executed by the IDE. Specified as int.\n
(0) 00000 - logging disabled\n
(31) 11111 - all categories enabled\n
(29) 11101 - the one you might want\n
(1) 00001 - GIT_TRACE\n
(2) 00010 - GIT_TRACE_PACK_ACCESS\n
(4) 00100 - GIT_TRACE_PACKET\n
(8) 01000 - GIT_TRACE_PERFOMANCE\n
(16) 10000 - GIT_TRACE_SETUP"/>
<registryKey key="git.file.history.full" defaultValue="true"
description="Adds &quot;--full-history --simplify-merges&quot; to git log arguments when retrieving history for a file.
This may sometimes result in empty merges being shown in the file history.
However, skipping this arguments hides some side branches if the end result is the same."/>
<registryKey key="git.refresh.vfs.total" defaultValue="false"
description="If set to true, the whole Git repository root will be refreshed after performing a Git operation.
Otherwise only the affected files will be refreshed.
Affects only a subset of Git operations.
The option is needed to debug possible &quot;incomplete VFS refresh&quot; reports, if they appear."/>
<registryKey key="git.log.use.index.for.picked.commits.highlighting" defaultValue="true"
description="Find cherry-picked commits not only looking at patches using 'git cherry'
but also by matching commit author, author time and &quot;cherry picked from commit &lt;hash&gt;&quot; suffix."/>
<registryKey key="git.log.fast.picked.commits.highlighting" defaultValue="true"
description="Find cherry-picked commits not looking at patches using 'git cherry'
but by matching commit author, author time and commit message. This allows to find commits that were cherry-picked with conflicts
and without adding &quot;cherry picked from commit &lt;hash&gt;&quot; suffix. Requires &quot;git.log.use.index.for.picked.commits.highlighting&quot; set to true."/>
<registryKey key="git.parallel.fetch.threads" defaultValue="-3"
description="Number of threads to call git fetch in parallel.\n
Set to 1 to execute sequentially.\n
Set to -1 to use the number of CPU cores.\n
Set to -2 to start as many threads, as there are repositories in the project.\n
Set to -3 to start as many threads, as there are repositories, but not more than 2 * number of cores.\n
By default, SSH supports up to 10 multiplexed connections, thus number of threads will be limited by 10 despite this value."/>
<registryKey key="git.windows.callback.script.type" defaultValue="auto"
description="Use workaround for Native SSH support in Git. Batch file cannot properly handle arguments with newlines when used as SSH_ASKPASS. Allowed values are: 'sh', 'bat', 'auto'"/>
<registryKey key="git.use.setsid.for.native.ssh" defaultValue="true"
description="Wrap 'git' process with 'setsid' for remote operations.
This fixes issue with SSH_ASKPASS if IDE is executed from terminal or under DM/WM that pass system TTY from Xorg to GUI applications. IDEA-201054"/>
<registryKey key="git.use.setsid.wait.for.wsl.ssh" defaultValue="true"
description="Wrap 'git' process with 'setsid -w' for remote operations with WSL executable."/>
<registryKey key="git.wsl.exe.executable.no.shell" defaultValue="false"
description="Run git process for WSL executables without wrapping into a shell command."/>
<registryKey key="git.wsl.exe.executable.login.shell" defaultValue="false"
description="Run git process for WSL executables using login shell command."/>
<registryKey key="git.wsl.exe.executable.detect.lang.by.env" defaultValue="true"
description="Run git process for WSL executables using LANG detected from ENV."/>
<registryKey key="git.use.env.from.project.context" defaultValue="true"
description="Update ENV variables passed to the git executable context to match the ones used for the project (ex: python venv, ruby sdk)."
restartRequired="false"/>
<registryKey key="git.use.no.optional.locks" defaultValue="true"
description="Use 'GIT_OPTIONAL_LOCKS' env variable to avoid taking unnecessary locks in git. Ex: to avoid 'git status' to interfere with 'git rebase' process in terminal."/>
<registryKey key="git.merge.conflicts.toolwindow" defaultValue="false"
description="Show dedicated toolwindow for git merge conflicts"/>
<registryKey key="git.update.project.info.as.log" defaultValue="true"
description="If enabled, Update Project for Git is followed by the list of commits, instead of the list of updated files."/>
<registryKey key="git.enable.stage.line.status.tracker" defaultValue="true"
description="Show staged and unstaged changes in gutter markers." restartRequired="true"/>
<registryKey key="git.shelve.load.base.in.batches" defaultValue="1000"
description="If set to a value &gt; 0, load base contents for shelving in batches: by reading the given number of files at once. If set to -1, contents are loaded as usual, one by one."/>
<registryKey key="git.allow.wsl1.executables" defaultValue="false"
description="If set to false, IDE will ignore configured WSL1 executables. See IDEA-242469"/>
<registryKey key="git.detect.wsl.executables" defaultValue="true"
description="Search for available executables in WSL on Windows"/>
<registryKey key="git.enable.stash.toolwindow" defaultValue="true"
description="Show toolwindow tab with stashes"/>
<registryKey key="git.can.use.restore.command" defaultValue="true"
description="Use 'git restore --staged --worktree --source=HEAD -- paths' instead of 'git reset --hard' to speed up worktree cleanup."/>
<registryKey key="git.stage.separate.undo.stack" defaultValue="true"
description="Do not record stage operations in the undo stack of the document"/>
<registryKey key="git.stage.navigate.to.index.file" defaultValue="false"
description="Navigate to the staging area content from diff instead of the local file"/>
<registryKey key="git.stage.enable.commit.all" defaultValue="true"
description="Deprecated. Use the option in the Commit tool window 'Options' menu.
When no changes are staged, stage and commit all changes in the project"/>
<registryKey key="git.branches.panel.persist.tree.state" defaultValue="true"
description="Persist branches panel tree state between restarts"/>
<registryKey key="git.branches.tree.popup.expand.node.on.single.click" defaultValue="true"
description="If true, then tree nodes will be expanded on single click, otherwise expand as usual JTree"/>
<registryKey key="git.do.not.swap.merge.conflict.sides" defaultValue="false"
description="Do not inverse 'ours' and 'theirs' conflict sides during rebase"/>
<registryKey key="git.recent.checkout.branches.reflog.entries.count" defaultValue="50"
restartRequired="true"
description="Max amount of entry to process from Git reflog to parse recently checkout branches"/>
<registryKey key="git.show.recent.checkout.branches" defaultValue="5"
description="Max count of recently checkout branches to show (e.g. in branches tree popup)"/>
<registryKey key="git.commit.gpg.signing.enable.embedded.pinentry" defaultValue="true"
restartRequired="true"
description="Enable embedded pinentry application for unlock GPG private key while Git perform commit signing. For remote dev (unix backend) and WSL."/>
<registryKey key="git.commit.gpg.signing.enable.embedded.pinentry.notification.proposal" defaultValue="false"
description="GPG Agent configuration notification proposal (see git.commit.gpg.signing.enable.embedded.pinentry)"/>
<registryKey key="git.read.branches.from.disk" defaultValue="false"
description="When enabled, read the '.git/refs' directory contents. When disabled, delegate to 'git branch' call."/>
<search.projectOptionsTopHitProvider implementation="git4idea.config.GitOptionsTopHitProvider"/>
<vcs name="Git" vcsClass="git4idea.GitVcs" displayName="Git" administrativeAreaName=".git"/>
<checkoutProvider implementation="git4idea.checkout.GitCheckoutProvider" order="first"/>
<vcs.checkoutProcessor implementation="git4idea.checkout.GitCheckoutProcessor"/>
<vcsRootChecker implementation="git4idea.roots.GitRootChecker"/>
<vcsIgnoreChecker implementation="git4idea.ignore.GitIgnoreChecker"/>
<vcsRepositoryCreator implementation="git4idea.repo.GitRepositoryCreator"/>
<vcsPopupProvider implementation="git4idea.actions.GitQuickListContentProvider"/>
<vcsCheckinHandlerFactory implementation="git4idea.checkin.GitUserNameCheckinHandlerFactory"/>
<vcsCheckinHandlerFactory implementation="git4idea.checkin.GitCRLFCheckinHandlerFactory"/>
<vcsCheckinHandlerFactory implementation="git4idea.checkin.GitLargeFileCheckinHandlerFactory"/>
<vcsCheckinHandlerFactory implementation="git4idea.checkin.GitDetachedRootCheckinHandlerFactory"/>
<vcsCheckinHandlerFactory implementation="git4idea.checkin.GitFileNameCheckinHandlerFactory"/>
<vcsCheckinHandlerFactory implementation="git4idea.rebase.GitRebaseCheckinHandlerFactory"/>
<checkinHandlerFactory implementation="git4idea.checkin.GitSkipHooksCommitHandlerFactory" order="last"/>
<unresolvedMergeCheckProvider implementation="git4idea.checkin.GitUnresolvedMergeCheckProvider"/>
<logProvider implementation="git4idea.log.GitLogProvider"/>
<vcsLogCommitStatusProvider implementation="git4idea.log.GitCommitSignatureStatusProvider"/>
<vcsLogFileHistoryHandler implementation="git4idea.history.GitLogHistoryHandler" order="last"/>
<vcsChangesViewRefresher implementation="git4idea.changes.GitChangesViewRefresher"/>
<vcs.branchStateProvider implementation="git4idea.branch.GitBranchStateProvider"/>
<pushSupport implementation="git4idea.push.GitPushSupport"/>
<cherryPicker implementation="git4idea.cherrypick.GitCherryPicker"/>
<vcsAnnotationGutterActionProvider implementation="git4idea.actions.GitToggleAnnotationOptionsActionProvider"/>
<statistics.projectUsagesCollector implementation="git4idea.GitStatisticsCollector"/>
<statistics.counterUsagesCollector implementationClass="git4idea.GitBranchesUsageCollector"/>
<statistics.counterUsagesCollector implementationClass="git4idea.GitStashUsageCollector"/>
<statistics.counterUsagesCollector implementationClass="git4idea.GitRefreshUsageCollector"/>
<statistics.counterUsagesCollector implementationClass="git4idea.GitOperationsCollector"/>
<statistics.notificationIdsHolder implementation="git4idea.GitNotificationIdsHolder"/>
<statistics.actionIdsHolder implementation="git4idea.GitActionIdsHolder"/>
<vcsRepositoryInitializer implementation="git4idea.repo.GitRepositoryInitializer"/>
<gitRepositoryInitializer implementation="git4idea.repo.GitRepositoryInitializerImpl"/>
<gitSilentFileAdder implementation="git4idea.repo.GitSilentFileAdderProviderImpl"/>
<openapi.vcs.changes.actions.diff.ChangeDiffRequestProvider
implementation="git4idea.diff.GitSubmoduleDiffRequestProvider"/>
<vcs.ignoredFilesHolder implementation="git4idea.repo.GitIgnoredFilesHolder$Provider"/>
<vcs.unversionedFilesHolder implementation="git4idea.repo.GitUnversionedFilesHolder$Provider"/>
<projectConfigurable id="vcs.Git" key="settings.git.option.group" instance="git4idea.config.GitVcsPanel"
parentId="project.propVCSSupport.Mappings" groupWeight="-500"/>
<generalVcsSettingsExtension instance="git4idea.rebase.log.GitLogCommitEditingConfigurable"
location="confirmations"/>
<projectService serviceImplementation="git4idea.config.GitVcsSettings" configurationSchemaKey="versionControl.git"/>
<projectService serviceImplementation="git4idea.config.GitRebaseSettings"/>
<projectService serviceImplementation="git4idea.config.GitMergeSettings"/>
<projectService serviceImplementation="git4idea.config.GitPullSettings"/>
<projectService serviceImplementation="git4idea.config.GitSharedSettings"/>
<projectService serviceInterface="git4idea.branch.GitBrancher"
serviceImplementation="git4idea.branch.GitBrancherImpl"/>
<projectService serviceInterface="git4idea.fetch.GitFetchSupport" serviceImplementation="git4idea.fetch.GitFetchSupportImpl"/>
<applicationService serviceImplementation="git4idea.config.GitVcsApplicationSettings"/>
<applicationService serviceInterface="git4idea.commands.GitHttpAuthService"
serviceImplementation="git4idea.commands.GitHttpAuthServiceImpl"/>
<httpRequestHandler implementation="git4idea.commands.GitAskPassExternalProcessRest"/>
<httpRequestHandler implementation="git4idea.rebase.GitRebaseEditorExternalProcessRest"/>
<applicationService serviceImplementation="git4idea.config.SSHConnectionSettings"/>
<applicationService serviceImplementation="git4idea.remote.GitRememberedInputs"/>
<applicationService serviceInterface="git4idea.commands.Git"
serviceImplementation="git4idea.commands.GitImpl"/>
<applicationService serviceImplementation="git4idea.config.GitExecutableManager"/>
<applicationService serviceImplementation="git4idea.DialogManager"/>
<applicationService serviceImplementation="git4idea.log.GitExternalLogTabsProperties"/>
<applicationService serviceImplementation="git4idea.index.ui.GitStageUiApplicationSettings"/>
<recentProjectsBranchesProvider implementation="git4idea.repo.GitRecentProjectsBranchesProvider"/>
<vcs.taskHandler implementation="git4idea.GitTaskHandler"/>
<logHighlighterFactory implementation="git4idea.branch.DeepComparator$Factory"/>
<ignoredFileContentProvider implementation="git4idea.ignore.GitIgnoredFileContentProvider"/>
<openapi.vcs.changes.vcsPreservingExecutor implementation="git4idea.util.GitPreservingExecutor"/>
<editorNotificationProvider implementation="git4idea.conflicts.MergeConflictResolveUtil$NotificationProvider"/>
<codeInsight.linkHandler prefix="#git_commit/" handlerClass="git4idea.log.GitCommitTooltipLinkHandler"/>
<!-- Git ignore lang -->
<fileType language="GitIgnore" extensions="gitignore" fieldName="INSTANCE" name="GitIgnore file"
implementationClass="git4idea.ignore.lang.GitIgnoreFileType"/>
<lang.parserDefinition language="GitIgnore"
implementationClass="com.intellij.openapi.vcs.changes.ignore.lang.IgnoreParserDefinition"/>
<codeInsight.lineMarkerProvider language="GitIgnore"
implementationClass="com.intellij.openapi.vcs.changes.ignore.codeInsight.IgnoreDirectoryMarkerProvider"/>
<lang.braceMatcher language="GitIgnore" implementationClass="com.intellij.openapi.vcs.changes.ignore.lang.IgnoreBraceMatcher"/>
<lang.commenter language="GitIgnore" implementationClass="com.intellij.openapi.vcs.changes.ignore.lang.IgnoreCommenter"/>
<!--END Git ignore lang-->
<!-- Git exclude lang -->
<fileType language="GitExclude" fileNames="exclude" fieldName="INSTANCE" name="GitExclude file"
implementationClass="git4idea.ignore.lang.GitExcludeFileType"/>
<lang.fileViewProviderFactory language="GitExclude"
implementationClass="git4idea.ignore.lang.GitExcludeViewProviderFactory"/>
<lang.parserDefinition language="GitExclude"
implementationClass="com.intellij.openapi.vcs.changes.ignore.lang.IgnoreParserDefinition"/>
<codeInsight.lineMarkerProvider language="GitExclude"
implementationClass="com.intellij.openapi.vcs.changes.ignore.codeInsight.IgnoreDirectoryMarkerProvider"/>
<lang.braceMatcher language="GitExclude" implementationClass="com.intellij.openapi.vcs.changes.ignore.lang.IgnoreBraceMatcher"/>
<lang.commenter language="GitExclude" implementationClass="com.intellij.openapi.vcs.changes.ignore.lang.IgnoreCommenter"/>
<!--END Git exclude lang-->
<backgroundPostStartupActivity implementation="git4idea.ignore.GitIgnoreInStoreDirGeneratorActivity"/>
<backgroundPostStartupActivity implementation="git4idea.config.GitSetupProjectConfig"/>
<backgroundPostStartupActivity implementation="git4idea.repo.GitShallowRepositoryCheck"/>
<registryKey key="git.update.incoming.info.time" defaultValue="20"
description="Time period (in minutes) between incoming commits checks." restartRequired="true"/>
<registryKey key="git.commit.completion.fixup.squash" defaultValue="true"
description="Provide completion for fixup, squash and amend prefixes in commit message field" restartRequired="false"/>
<registryKey key="git.interactive.rebase.collect.entries.using.log" defaultValue="true"
description="Use Log to collect Rebase Entries"/>
<registryKey key="git.search.everywhere.commit.by.message" defaultValue="true"
description="Use Git log index to lookup commits by message in Search Everywhere" restartRequired="false"/>
<registryKey key="git.push.upto.commit.with.head.reference" defaultValue="false"
description="Detect HEAD relative reference while pushing up to selected commit to the current branch"
restartRequired="false"/>
<vcs.actions.ScheduleForAdditionActionExtension implementation="git4idea.actions.GitAdd"/>
<completion.contributor language="TEXT" implementationClass="git4idea.commit.GitCommitCompletionContributor"
order="first, before commitCompletion"/>
<lookup.charFilter implementation="git4idea.commit.GitCommitCompletionCharFilter"/>
<customVcsLogUiFactoryProvider implementation="git4idea.ui.branch.dashboard.BranchesInGitLogUiFactoryProvider"/>
<virtualFileSystem key="git-compare-branches" implementationClass="git4idea.branch.GitCompareBranchesVirtualFileSystem"/>
<statusBarWidgetFactory id="light.edit.git" implementation="git4idea.light.LightGitStatusBarWidgetFactory"/>
<lightEditTabAttributesProvider implementation="git4idea.light.LightGitTabAttributesProvider"/>
<statusBarWidgetFactory id="git"
implementation="git4idea.ui.branch.GitBranchWidget$Factory"
order="after CodeStyleStatusBarWidget,before ReadOnlyAttribute"/>
<vcsBulkMovesOnlyChangesFilter implementation="git4idea.GitBulkMovesOnlyChangesFilter"/>
<editorNotificationProvider implementation="git4idea.ui.GitEditorPromo" order="first"/>
<changesViewContent id="git.stage" tabName="Staging Area" className="git4idea.index.GitStageContentProvider"
predicateClassName="git4idea.index.GitStageContentVisibilityPredicate"
preloaderClassName="git4idea.index.GitStageContentPreloader"
displayNameSupplierClassName="git4idea.index.GitStageDisplayNameSupplier"
isInCommitToolWindow="true"/>
<vcs.changes.changesViewNodeAction implementation="git4idea.merge.GitChangesViewNodeAction"/>
<projectService serviceImplementation="git4idea.index.GitStageTracker"/>
<fileDocumentManagerListener implementation="git4idea.index.GitStageFileDocumentManagerListener"/>
<editorFactoryDocumentListener implementation="git4idea.index.GitStageDocumentListener"/>
<openapi.vcs.impl.LocalLineStatusTrackerProvider implementation="git4idea.index.GitStageLineStatusTrackerProvider"/>
<vcsChangesViewRefresher implementation="git4idea.index.actions.GitStageChangesViewRefresher"/>
<backgroundPostStartupActivity implementation="git4idea.index.GitStageStartupActivity"/>
<virtualFileSystem implementationClass="git4idea.index.vfs.GitIndexFileSystem" key="gitIndexFs" physical="true"/>
<vcs.baseContentProvider implementation="git4idea.index.vfs.GitIndexVirtualFileBaseContentProvider"/>
<editorNotificationProvider implementation="git4idea.index.vfs.GitIndexVirtualFileEditorNotificationProvider"/>
<editorTabTitleProvider implementation="git4idea.index.vfs.GitIndexVirtualFileTabTitleProvider"/>
<vcs.fileStatusProvider implementation="git4idea.index.vfs.GitIndexVirtualFileStatusProvider"/>
<diff.actions.ShowDiffAction.ExtensionProvider implementation="git4idea.index.actions.GitStageDiffAction"/>
<diff.actions.ShowStandaloneDiffAction.ExtensionProvider implementation="git4idea.index.actions.GitStageDiffAction"/>
<openapi.vcs.changes.actions.CreatePatchFromChangesAction.Dialog.ExtensionProvider
implementation="git4idea.index.actions.GitStageCreatePatchActionProvider$Dialog"/>
<openapi.vcs.changes.actions.CreatePatchFromChangesAction.Clipboard.ExtensionProvider
implementation="git4idea.index.actions.GitStageCreatePatchActionProvider$Clipboard"/>
<actionPromoter implementation="git4idea.index.actions.GitIndexActionPromoter"/>
<changesViewContent id="git.stash" tabName="Stash" className="git4idea.stash.ui.GitStashContentProvider"
predicateClassName="git4idea.stash.ui.GitStashContentVisibilityPredicate"
preloaderClassName="git4idea.stash.ui.GitStashContentPreloader"
displayNameSupplierClassName="git4idea.stash.ui.GitStashDisplayNameSupplier"
isInCommitToolWindow="true"/>
<projectService serviceImplementation="git4idea.stash.GitStashTracker"/>
<postStartupActivity implementation="git4idea.stash.ui.GitStashStartupActivity"/>
<backgroundPostStartupActivity implementation="git4idea.commit.signing.GpgAgentConfiguratorStartupActivity"/>
<vcs.consoleFolding implementation="git4idea.console.GitConsoleFolding"/>
<console.folding implementation="git4idea.console.GitProgressOutputConsoleFolding"/>
<advancedSetting default="false" id="git.search.everywhere.tab.enabled" groupKey="advanced.settings.git"/>
<searchEverywhereContributor implementation="git4idea.search.GitSearchEverywhereContributor$Factory"/>
<projectOriginInfoProvider implementation="git4idea.repo.GitProjectOriginInfoProvider"/>
<warmupConfigurator implementation="git4idea.log.GitWarmupConfigurator"/>
<postStartupActivity implementation="git4idea.repo.GitCommitTemplateTracker$GitCommitTemplateTrackerStartupActivity"/>
<vcs.commitMessageProvider implementation="git4idea.commit.GitTemplateCommitMessageProvider" order="first"/>
<jbProtocolRevisionResolver implementation="git4idea.GitNavigateRevisionResolver"/>
<toolbarQuickAction implementationClass="git4idea.ui.toolbar.UpdateQuickAction" listGroupID="MainToolbarQuickActions.VCS"/>
<toolbarQuickAction implementationClass="git4idea.ui.toolbar.CommitQuickAction" listGroupID="MainToolbarQuickActions.VCS"/>
<toolbarQuickAction implementationClass="git4idea.ui.toolbar.PushQuickAction" listGroupID="MainToolbarQuickActions.VCS"/>
<toolbarQuickAction implementationClass="git4idea.ui.toolbar.DiffQuickAction" listGroupID="MainToolbarQuickActions.VCS"/>
<toolbarQuickAction implementationClass="git4idea.ui.toolbar.HistoryQuickAction" listGroupID="MainToolbarQuickActions.VCS"/>
<toolbarQuickAction implementationClass="git4idea.ui.toolbar.RollbackQuickAction" listGroupID="MainToolbarQuickActions.VCS"/>
<changesViewContent tabName="Git Conflicts"
className="git4idea.conflicts.GitConflictsToolWindowManager$ContentProvider"
predicateClassName="git4idea.conflicts.GitConflictsToolWindowManager$ContentPredicate"
preloaderClassName="git4idea.conflicts.GitConflictsToolWindowManager$ContentPreloader"
displayNameSupplierClassName="git4idea.conflicts.GitConflictsToolWindowManager$DisplayNameSupplier"
isInCommitToolWindow="true"/>
<registryKey os="windows" key="git.version.check.minutes" defaultValue="1"
restartRequired="true"
description="Amount of time in minutes to check new Git version after IDE inactivity.\n
-1 to disable check."/>
<!--<postStartupActivity os="windows" implementation="git4idea.config.GitNewVersionChecker$Starter"/>-->
<!--<settingsEntryPointActionProvider os="windows" implementation="git4idea.config.GitVersionUpdateSettingsEntryProvider"/>-->
<history.activityPresentationProvider implementation="git4idea.GitActivityPresentationProvider"/>
<searchScopesProvider implementation="git4idea.search.GitSearchScopeProvider"/>
<projectService serviceInterface="com.intellij.vcs.log.ui.table.links.CommitLinksProvider"
serviceImplementation="git4idea.log.GitCommitLinkProvider"/>
</extensions>
<extensions defaultExtensionNs="Git4Idea">
<gitRawAnnotationProvider implementation="git4idea.annotate.GitAnnotationProvider$DefaultGitAnnotationProvider"/>
</extensions>
<extensionPoints>
<extensionPoint interface="git4idea.remote.GitHttpAuthDataProvider" qualifiedName="Git4Idea.GitHttpAuthDataProvider" dynamic="true"/>
<extensionPoint interface="git4idea.remote.GitRepositoryHostingService" qualifiedName="Git4Idea.gitRepositoryHostingService" dynamic="true"/>
<extensionPoint interface="git4idea.checkin.GitCheckinExplicitMovementProvider"
qualifiedName="Git4Idea.GitCheckinExplicitMovementProvider"
dynamic="true"/>
<extensionPoint interface="git4idea.fetch.GitFetchHandler" qualifiedName="Git4Idea.gitFetchHandler" dynamic="true"/>
<extensionPoint interface="git4idea.config.GitProtectedBranchProvider" qualifiedName="Git4Idea.gitProtectedBranchProvider" dynamic="true"/>
<extensionPoint interface="git4idea.update.GitPostUpdateHandler" qualifiedName="Git4Idea.gitPostUpdateHandler" dynamic="true"/>
<extensionPoint interface="git4idea.ui.branch.GitCurrentBranchPresenter" qualifiedName="Git4Idea.gitCurrentBranchPresenter" dynamic="true"/>
<extensionPoint interface="git4idea.instant.InstantGitTokenProvider" qualifiedName="Git4Idea.instantGitTokenProvider" dynamic="true"/>
<extensionPoint interface="git4idea.annotate.GitAnnotationPerformanceListener" qualifiedName="Git4Idea.gitAnnotationPerformanceListener" dynamic="true"/>
<extensionPoint interface="git4idea.annotate.GitAnnotationProvider$GitRawAnnotationProvider" qualifiedName="Git4Idea.gitRawAnnotationProvider"
dynamic="true" area="IDEA_PROJECT"/>
<extensionPoint interface="git4idea.push.GitPushNotificationCustomizer"
qualifiedName="Git4Idea.gitPushNotificationCustomizer"
dynamic="true"
area="IDEA_PROJECT"/>
</extensionPoints>
<projectListeners>
<listener class="git4idea.conflicts.GitConflictsToolWindowManager$MyStagingAreaListener"
topic="git4idea.status.GitStagingAreaHolder$StagingAreaListener"
activeInHeadlessMode="false"/>
<listener class="git4idea.conflicts.MergeConflictResolveUtil$MyStagingAreaListener"
topic="git4idea.status.GitStagingAreaHolder$StagingAreaListener"
activeInHeadlessMode="false"/>
<listener class="git4idea.conflicts.GitConflictsToolWindowManager$MyRepositoryListener"
topic="com.intellij.dvcs.repo.VcsRepositoryMappingListener"
activeInHeadlessMode="false"/>
<listener class="git4idea.ui.branch.GitBranchWidget$Listener"
topic="com.intellij.dvcs.repo.VcsRepositoryMappingListener"
activeInHeadlessMode="false" activeInTestMode="false"/>
<listener class="git4idea.index.CommitModeListener" topic="com.intellij.vcs.commit.CommitModeManager$CommitModeListener"
activeInHeadlessMode="false" activeInTestMode="false"/>
<listener class="git4idea.actions.GitQuickActionsToolbarPopup$MyGitRepositoryListener"
topic="com.intellij.dvcs.repo.VcsRepositoryMappingListener"
activeInHeadlessMode="false" activeInTestMode="false"/>
<listener class="git4idea.ui.branch.GitBranchWidget$MyRiderMainToolbarStateListener"
topic="com.intellij.ide.navigationToolbar.rider.RiderMainToolbarStateListener"
activeInHeadlessMode="false" activeInTestMode="false"/>
<listener class="git4idea.ui.branch.GitBranchWidget$SettingsListener"
activeInHeadlessMode="false" activeInTestMode="false"
topic="com.intellij.ide.ui.UISettingsListener"/>
</projectListeners>
</idea-plugin>