make sure Git GC errors are visible on the secondary node
[teamcity/git-plugin.git] / git-dsl / Git.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <dsl-extension kind="vcs" type="jetbrains.git" generateDslJar="true">
3   <class name="GitVcsRoot">
4     <description>Git [VCS root](https://confluence.jetbrains.com/display/TCDL/Git)</description>
5   </class>
6   <params>
7     <param name="url" mandatory="true">
8       <description>Repository url</description>
9     </param>
10     <param name="push_url" dslName="pushUrl">
11       <description>
12         Custom repository push url. If not specified then the url specified in the url property is used for push operations.
13         @see url
14       </description>
15     </param>
16     <param name="branch">
17       <description>The default branch name</description>
18     </param>
19     <param name="teamcity:branchSpec" dslName="branchSpec">
20       <description>
21         [Branch specification](https://confluence.jetbrains.com/display/TCDL/Working+with+Feature+Branches#WorkingwithFeatureBranches-branchSpec)
22         to use in VCS root
23       </description>
24     </param>
25     <param name="reportTagRevisions" dslName="useTagsAsBranches" type="boolean" trueValue="true" falseValue="">
26       <description>
27         When enabled tags matched by branch specification will be shown in UI as regular branches.
28         By default false.
29       </description>
30     </param>
31     <param name="usernameStyle" dslName="userNameStyle" type="UserNameStyle">
32       <description>
33         Defines how TeamCity retrieves [VCS username](https://confluence.jetbrains.com/display/TCDL/Managing+Users+and+User+Groups#ManagingUsersandUserGroups-vcsUsername)
34         from git commit.
35         @see UserNameStyle
36       </description>
37     </param>
38     <param name="submoduleCheckout" type="CheckoutSubmodules" dslName="checkoutSubmodules">
39       <description>
40         Whether VCS root should include changes in submodules and check their sources for build.
41         By default submodules are checked out.
42         @see CheckoutSubmodules
43       </description>
44     </param>
45     <param name="userForTags">
46       <description>
47         A username for tag/merge operations in this VCS root.
48         Format: Username &lt;email>
49       </description>
50     </param>
51     <param name="serverSideAutoCrlf" dslName="serverSideAutoCRLF" type="boolean" trueValue="true" falseValue="">
52       <description>
53         Whether TeamCity should convert line-endings of all text files to CRLF during server-side checkout.
54         By default false.
55       </description>
56     </param>
57     <param name="agentGitPath">
58       <description>
59         Custom path to git executable on the build agent machine
60       </description>
61     </param>
62     <param name="agentCleanPolicy" type="AgentCleanPolicy">
63       <description>
64         Specifies when the "git clean" command should be executed in case of agent-side checkout
65         @see AgentCleanPolicy
66       </description>
67     </param>
68     <param name="agentCleanFilesPolicy" type="AgentCleanFilesPolicy">
69       <description>
70         Specifies which files should be removed when "git clean" command is executed during agent-side checkout.
71         @see AgentCleanFilesPolicy
72       </description>
73     </param>
74     <param name="useAlternates" dslName="useMirrors" type="boolean" trueValue="true" falseValue="">
75       <description>
76         When this option is enabled, TeamCity creates a separate clone of the repository on each agent
77         and uses it in the checkout directory via git alternates. This make agent-side checkout faster.
78         By default true.
79       </description>
80     </param>
81     <param name="authMethod" type="compound">
82       <description>
83         VCS Root authentication method
84       </description>
85       <option name="anonymous" value="ANONYMOUS">
86         <description>Anonymous repository access</description>
87       </option>
88       <option name="password" value="PASSWORD">
89         <description>Password authentication</description>
90         <param name="username" dslName="userName">
91           <description>Username to use, overwrites the username in the url</description>
92         </param>
93         <param name="secure:password" dslName="password" mandatory="true">
94           <description>Password to use</description>
95         </param>
96       </option>
97       <option name="uploadedKey" value="TEAMCITY_SSH_KEY">
98         <description>
99           Uploaded [SSH key](https://confluence.jetbrains.com/display/TCDL/SSH+Keys+Management) with the specified name.
100         </description>
101         <param name="username" dslName="userName">
102           <description>Username to use, overwrites the username in the url</description>
103         </param>
104         <param name="teamcitySshKey" dslName="uploadedKey" mandatory="true">
105           <description>Name of the uploaded [SSH key](https://confluence.jetbrains.com/display/TCDL/SSH+Keys+Management) to use</description>
106         </param>
107         <param name="secure:passphrase" dslName="passphrase">
108           <description>
109             Passphrase for the uploaded [SSH key](https://confluence.jetbrains.com/display/TCDL/SSH+Keys+Management).
110             Leave it empty if the key is not encrypted.
111           </description>
112         </param>
113       </option>
114       <option name="defaultPrivateKey" value="PRIVATE_KEY_DEFAULT">
115         <description>
116           Default SSH key found on the machine.
117           If you use an agent-side checkout, then this key should also be available on the build agent machines.
118           Often it is easier to use the uploaded SSH key.
119           @see uploadedKey
120         </description>
121         <param name="username" dslName="userName">
122           <description>Username to use, overwrites the username in the url</description>
123         </param>
124       </option>
125       <option name="customPrivateKey" value="PRIVATE_KEY_FILE">
126         <description>
127           SSH key on the specified path. Supported only for server-side checkout.
128           Switch to uploaded SSH key if you want to use an agent-side checkout.
129           @see uploadedKey
130         </description>
131         <param name="username" dslName="userName">
132           <description>Username to use, overwrites the username in the url</description>
133         </param>
134         <param name="privateKeyPath" dslName="customKeyPath" mandatory="true">
135           <description>Path to the SSH key on TeamCity server machine</description>
136         </param>
137         <param name="secure:passphrase" dslName="passphrase">
138           <description>
139             Passphrase for the key. Leave it empty if the key is not encrypted.
140           </description>
141         </param>
142       </option>
143     </param>
144   </params>
145   <types>
146     <enum name="UserNameStyle">
147       <description>
148         Defines how TeamCity retrieves [VCS username](https://confluence.jetbrains.com/display/TCDL/Managing+Users+and+User+Groups#ManagingUsersandUserGroups-vcsUsername)
149         from git commit.
150
151         When the git config contains the following
152
153         ```
154         [user]
155           name = Joe Coder
156           email = joe.coder@acme.com
157         ```
158
159         then the git username in commit is `Joe Coder &lt;joe.coder@acme.com>`.
160
161         Different options specify which part of the git commit username is used in TeamCity.
162       </description>
163       <option name="NAME">
164         <description>Use the name part, for full name `Joe Coder &lt;joe.coder@acme.com>` it will be `Joe Coder`</description>
165       </option>
166       <option name="USERID">
167         <description>Use part of the email before the @ sign, for full name `Joe Coder &lt;joe.coder@acme.com>` it will be `joe.coder`</description>
168       </option>
169       <option name="EMAIL">
170         <description>Use the email part, for full name `Joe Coder &lt;joe.coder@acme.com>` it will be `joe.coder@acme.com`</description>
171       </option>
172       <option name="FULL">
173         <description>Use full commit username, i.e. `Joe Coder &lt;joe.coder@acme.com>`</description>
174       </option>
175     </enum>
176     <enum name="CheckoutSubmodules">
177       <description>Submodules checkout mode</description>
178       <option name="SUBMODULES_CHECKOUT" value="CHECKOUT">
179         <description>Checkout submodules and show submodule changes in UI</description>
180       </option>
181       <option name="IGNORE">
182         <description>Don't checkout submodules and don't show changes from submodules in UI</description>
183       </option>
184     </enum>
185     <enum name="AgentCleanPolicy">
186       <description>Specifies when the "git clean" command should be executed in case of agent-side checkout</description>
187       <option name="NEVER">
188         <description>Don't run the "git clean" command</description>
189       </option>
190       <option name="ALWAYS">
191         <description>Run the "git clean" command before each build</description>
192       </option>
193       <option name="ON_BRANCH_CHANGE">
194         <description>
195           Run the "git clean" command if the branch in build is different comparing to the branch in the previous build on same agent
196         </description>
197       </option>
198     </enum>
199     <enum name="AgentCleanFilesPolicy">
200       <description>Specifies flags for the "git clean" command during agent-side checkout and defines which files will be removed.</description>
201       <option name="IGNORED_ONLY">
202         <description>Will run "git clean -dfX"</description>
203       </option>
204       <option name="NON_IGNORED_ONLY">
205         <description>Will run "git clean -df"</description>
206       </option>
207       <option name="ALL_UNTRACKED">
208         <description>Will run "git clean -dfx"</description>
209       </option>
210     </enum>
211   </types>
212 </dsl-extension>