summaryrefslogtreecommitdiff
path: root/plugins/git4idea/src/META-INF/plugin.xml
blob: 32d254f6fb6723aa3e39ff3dbd0a51cc76a6c6c5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
<idea-plugin xmlns:xi="http://www.w3.org/2001/XInclude">
  <name>Git Integration</name>
  <id>Git4Idea</id>
  <description>
      <![CDATA[
      Allows working with <a href="http://git-scm.com/">Git version control system</a>.
      The following features are available:
        <ul>
        <li>Dedicated page under the Version Control node in the Settings/Preferences dialog.</li>
        <li>Ability to browse, check out sources from and import into the available Git repositories, when Git is not enabled.</li>
        <li>When Git is enabled, the Git node appears on the VCS menu, and on the context menu of the editor.</li>
        </ul>
         <p>Numerous plugins depend on the Git Integration plugin.</p>
      ]]>
   </description>
  <version>8.1</version>
  <category>VCS Integration</category>
  <vendor url="http://svn.jetbrains.org/idea/Trunk/bundled/git4idea/" logo="/general/ijLogo.png">JetBrains</vendor>

  <depends>com.intellij.modules.vcs</depends>
  <xi:include href="/META-INF/remote-servers-git.xml" xpointer="xpointer(/idea-plugin/*)">
    <xi:fallback/>
  </xi:include>

  <actions>

    <action id="Git.Init" class="git4idea.actions.GitInit" text="Create Git Repository...">
      <add-to-group group-id="Vcs.Import"/>
    </action>

    <action id="Git.Log" class="git4idea.history.wholeTree.SelectRepositoryAndShowLogAction">
      <add-to-group group-id="Vcs.Browse"/>
    </action>

    <group id="GitFileActions">
      <reference ref="CheckinFiles"/>
      <action id="Git.Add" class="git4idea.actions.GitAdd" text="Add" icon="AllIcons.General.Add" use-shortcut-of="ChangesView.AddUnversioned" />
      <separator/>
      <reference ref="Annotate"/>
      <reference ref="Show.Current.Revision"/>
      <reference ref="Compare.SameVersion"/>
      <reference ref="Compare.LastVersion"/>
      <reference ref="Compare.Selected"/>
      <action id="Git.CompareWithBranch" class="git4idea.actions.GitCompareWithBranchAction" text="Compare with Branch..." />
      <reference ref="Vcs.ShowTabbedFileHistory"/>
      <reference id="Vcs.ShowHistoryForBlock"/>
      <separator/>
      <action id="Git.Revert" class="git4idea.actions.GitRevert" icon="AllIcons.Actions.Rollback" text="Revert..."/>
      <action id="Git.ResolveConflicts" class="git4idea.actions.GitResolveConflictsAction" text="Resolve Conflicts..."/>
    </group>

    <group id="GitRepositoryActions">
      <action id="Git.Branches" class="git4idea.ui.branch.GitBranchesAction" text="_Branches..." icon="Git4ideaIcons.Branch"/>
      <action id="Git.Tag" class="git4idea.actions.GitTag" text="Tag Files..."/>
      <action id="Git.Merge" class="git4idea.actions.GitMerge" text="Merge Changes..." icon="AllIcons.Vcs.MergeSourcesTree"/>
      <action id="Git.Stash" class="git4idea.actions.GitStash" text="Stash Changes..."/>
      <action id="Git.Unstash" class="git4idea.actions.GitUnstash" text="UnStash Changes..."/>
      <action id="Git.Reset" class="git4idea.actions.GitResetHead" text="Reset HEAD..." icon="AllIcons.Actions.Reset"/>
      <separator/>
      <action id="Git.Fetch" class="git4idea.actions.GitFetch" text="Fetch"/>
      <action id="Git.Pull" class="git4idea.actions.GitPull" text="Pull..." icon="AllIcons.Actions.CheckOut"/>
      <action id="Git.Push" class="git4idea.actions.GitPushAction" icon="AllIcons.Actions.Commit" text="Push...">
        <keyboard-shortcut first-keystroke="control shift K" keymap="$default"/>
      </action>
      <separator/>
      <action id="Git.Rebase" class="git4idea.actions.GitRebase" text="Rebase..."/>
      <action id="Git.Rebase.Abort" class="git4idea.actions.GitRebaseAbort" text="Abort Rebasing"/>
      <action id="Git.Rebase.Continue" class="git4idea.actions.GitRebaseContinue" text="Continue Rebasing"/>
      <action id="Git.Rebase.Skip" class="git4idea.actions.GitRebaseSkip" text="Skip Commit in Rebasing"/>
      <separator/>
      <action id="Git.Edit.Global.Message" class="git4idea.actions.GitEditGlobalMessageAction" text="Edit Global Message"/>
    </group>

    <group id="Git.Menu" class="git4idea.actions.GitMenu" popup="true" text="_Git">
      <reference ref="GitFileActions"/>
      <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" text="_Git">
      <reference ref="GitFileActions"/>
      <separator/>
      <group id="Git.RepositoryContextMenu" popup="true" text="_Repository">
        <reference ref="GitRepositoryActions"/>
      </group>
      <add-to-group group-id="VcsGroup" anchor="last"/>
    </group>

    <group id="Git.LogContextMenu">
      <separator/>
    </group>

    <action id="Git.CherryPick" class="git4idea.cherrypick.GitCherryPickAction" text="Cherry-Pick" icon="Git4ideaIcons.CherryPick"/>
    <action class="git4idea.actions.GitCheckoutRevisionAction" id="Git.CheckoutRevision" text="Checkout Revision"/>
    <action class="git4idea.actions.GitCreateNewBranchAction" id="Git.CreateNewBranch" text="New Branch"
            description="Create new branch starting from the selected commit"/>
    <action class="git4idea.actions.GitCreateTagAction" id="Git.CreateNewTag" text="New Tag"
            description="Create new tag pointing to this commit"/>

    <group id="Git.Log.ContextMenu">
      <separator/>
      <reference id="Git.CherryPick" />
      <reference id="Git.CheckoutRevision"/>
      <reference id="Git.CreateNewBranch" />
      <reference id="Git.CreateNewTag" />
      <add-to-group group-id="Vcs.Log.ContextMenu" />
    </group>

    <group id="Git.Log.Toolbar">
      <reference id="Git.CherryPick"/>
      <add-to-group group-id="Vcs.Log.Toolbar" />
      <action id="Git.Log.DeepCompare" class="git4idea.branch.DeepCompareAction" text="Highlight non-picked commits"
              icon="Git4ideaIcons.DeepCompare"
              description="Dims those commits which have equivalent changes in the current branch"/>
    </group>
    

  </actions>

  <project-components>
    <component>
      <implementation-class>git4idea.repo.GitRepositoryManager</implementation-class>
    </component>
  </project-components>

  <extensions defaultExtensionNs="com.intellij">
    <errorHandler implementation="com.intellij.diagnostic.ITNReporter"/>
    <vcs name="Git" vcsClass="git4idea.GitVcs" displayName="Git" administrativeAreaName=".git"/>
    <checkoutProvider implementation="git4idea.checkout.GitCheckoutProvider"/>
    <vcsRootChecker implementation="git4idea.roots.GitRootChecker"/>
    <vcsPopupProvider implementation="git4idea.actions.GitQuickListContentProvider"/>
    <vcsCheckinHandlerFactory implementation="git4idea.checkin.GitCheckinHandlerFactory"/>
    <checkinHandlerFactory implementation="git4idea.checkin.UnresolvedMergeCheckFactory"/>
    <logProvider implementation="git4idea.log.GitLogProvider"/>
    <vcsChangesViewRefresher implementation="git4idea.changes.GitChangesViewRefresher" />
    
    <projectService
      serviceInterface="git4idea.history.wholeTree.LogFactoryService"
      serviceImplementation="git4idea.history.wholeTree.LogFactoryService"/>
    <projectService
        serviceInterface="git4idea.annotate.GitAnnotationProvider"
        serviceImplementation="git4idea.annotate.GitAnnotationProvider"/>
    <projectService
        serviceInterface="git4idea.diff.GitDiffProvider"
        serviceImplementation="git4idea.diff.GitDiffProvider"/>
    <projectService
        serviceInterface="git4idea.checkin.GitCheckinEnvironment"
        serviceImplementation="git4idea.checkin.GitCheckinEnvironment"/>
    <projectService
        serviceInterface="git4idea.status.GitChangeProvider"
        serviceImplementation="git4idea.status.GitChangeProvider"/>
    <projectService
        serviceInterface="git4idea.history.GitHistoryProvider"
        serviceImplementation="git4idea.history.GitHistoryProvider"/>
    <projectService
        serviceInterface="git4idea.rollback.GitRollbackEnvironment"
        serviceImplementation="git4idea.rollback.GitRollbackEnvironment"/>
    <projectService
        serviceInterface="git4idea.config.GitVcsSettings"
        serviceImplementation="git4idea.config.GitVcsSettings"/>
    <projectService
        serviceInterface="git4idea.settings.GitPushSettings"
        serviceImplementation="git4idea.settings.GitPushSettings"/>
    <projectService
        serviceInterface="git4idea.history.NewGitUsersComponent"
        serviceImplementation="git4idea.history.NewGitUsersComponent"/>
    <projectService
        serviceInterface="git4idea.history.browser.GitProjectLogManager"
        serviceImplementation="git4idea.history.browser.GitProjectLogManager"/>
    <projectService
        serviceInterface="git4idea.config.GitExecutableValidator"
        serviceImplementation="git4idea.config.GitExecutableValidator"/>
    <projectService
        serviceInterface="git4idea.MessageManager"
        serviceImplementation="git4idea.MessageManager"/>
    <projectService serviceInterface="git4idea.history.wholeTree.GitLogSettings"
                    serviceImplementation="git4idea.history.wholeTree.GitLogSettings"/>
    <projectService serviceInterface="git4idea.branch.GitBrancher"
                    serviceImplementation="git4idea.branch.GitBrancherImpl"/>
    <projectService serviceImplementation="git4idea.GitUserRegistry" />

    <projectService serviceImplementation="git4idea.branch.DeepComparatorHolder"/>

    <applicationService serviceImplementation="git4idea.history.wholeTree.GitCommitsSequentialIndex"
                        serviceInterface="git4idea.history.wholeTree.GitCommitsSequentially"/>
    <applicationService serviceInterface="git4idea.config.GitVcsApplicationSettings"
                        serviceImplementation="git4idea.config.GitVcsApplicationSettings"/>
    <applicationService serviceInterface="org.jetbrains.git4idea.ssh.GitXmlRpcSshService"
                        serviceImplementation="org.jetbrains.git4idea.ssh.GitXmlRpcSshService"/>
    <applicationService serviceInterface="git4idea.commands.GitHttpAuthService"
                        serviceImplementation="git4idea.commands.GitHttpAuthServiceImpl" />
    <applicationService serviceInterface="git4idea.rebase.GitRebaseEditorService"
                        serviceImplementation="git4idea.rebase.GitRebaseEditorService"/>
    <applicationService serviceInterface="git4idea.config.SSHConnectionSettings"
                        serviceImplementation="git4idea.config.SSHConnectionSettings"/>
    <applicationService serviceInterface="git4idea.remote.GitRememberedInputs"
                        serviceImplementation="git4idea.remote.GitRememberedInputs"/>
    <applicationService serviceInterface="git4idea.commands.Git"
                        serviceImplementation="git4idea.commands.GitImpl"/>
    <applicationService serviceInterface="git4idea.GitPlatformFacade"
                        serviceImplementation="git4idea.GitPlatformFacadeImpl" />
    <applicationService serviceInterface="git4idea.DialogManager"
                        serviceImplementation="git4idea.DialogManager" />

    <fileTypeFactory implementation="git4idea.vfs.GitFileTypeFactory"/>
    <vcs.taskHandler implementation="git4idea.GitTaskHandler"/>
  </extensions>

  <extensionPoints>
    <extensionPoint qualifiedName="Git4Idea.GitHttpAuthDataProvider" interface="git4idea.remote.GitHttpAuthDataProvider"/>
  </extensionPoints>
</idea-plugin>