Autogenerated HTML docs for v1.3.0-rc3-gd53352
[git.git] / git-repo-config.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"\r
2     "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\r
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">\r
4 <head>\r
5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />\r
6 <meta name="generator" content="AsciiDoc 7.0.2" />\r
7 <style type="text/css">\r
8 /* Debug borders */\r
9 p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {\r
10 /*\r
11   border: 1px solid red;\r
12 */\r
13 }\r
14 \r
15 body {\r
16   margin: 1em 5% 1em 5%;\r
17 }\r
18 \r
19 a { color: blue; }\r
20 a:visited { color: fuchsia; }\r
21 \r
22 em {\r
23   font-style: italic;\r
24 }\r
25 \r
26 strong {\r
27   font-weight: bold;\r
28 }\r
29 \r
30 tt {\r
31   color: navy;\r
32 }\r
33 \r
34 h1, h2, h3, h4, h5, h6 {\r
35   color: #527bbd;\r
36   font-family: sans-serif;\r
37   margin-top: 1.2em;\r
38   margin-bottom: 0.5em;\r
39   line-height: 1.3;\r
40 }\r
41 \r
42 h1 {\r
43   border-bottom: 2px solid silver;\r
44 }\r
45 h2 {\r
46   border-bottom: 2px solid silver;\r
47   padding-top: 0.5em;\r
48 }\r
49 \r
50 div.sectionbody {\r
51   font-family: serif;\r
52   margin-left: 0;\r
53 }\r
54 \r
55 hr {\r
56   border: 1px solid silver;\r
57 }\r
58 \r
59 p {\r
60   margin-top: 0.5em;\r
61   margin-bottom: 0.5em;\r
62 }\r
63 \r
64 pre {\r
65   padding: 0;\r
66   margin: 0;\r
67 }\r
68 \r
69 span#author {\r
70   color: #527bbd;\r
71   font-family: sans-serif;\r
72   font-weight: bold;\r
73   font-size: 1.2em;\r
74 }\r
75 span#email {\r
76 }\r
77 span#revision {\r
78   font-family: sans-serif;\r
79 }\r
80 \r
81 div#footer {\r
82   font-family: sans-serif;\r
83   font-size: small;\r
84   border-top: 2px solid silver;\r
85   padding-top: 0.5em;\r
86   margin-top: 4.0em;\r
87 }\r
88 div#footer-text {\r
89   float: left;\r
90   padding-bottom: 0.5em;\r
91 }\r
92 div#footer-badges {\r
93   float: right;\r
94   padding-bottom: 0.5em;\r
95 }\r
96 \r
97 div#preamble,\r
98 div.tableblock, div.imageblock, div.exampleblock, div.verseblock,\r
99 div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,\r
100 div.admonitionblock {\r
101   margin-right: 10%;\r
102   margin-top: 1.5em;\r
103   margin-bottom: 1.5em;\r
104 }\r
105 div.admonitionblock {\r
106   margin-top: 2.5em;\r
107   margin-bottom: 2.5em;\r
108 }\r
109 \r
110 div.content { /* Block element content. */\r
111   padding: 0;\r
112 }\r
113 \r
114 /* Block element titles. */\r
115 div.title, caption.title {\r
116   font-family: sans-serif;\r
117   font-weight: bold;\r
118   text-align: left;\r
119   margin-top: 1.0em;\r
120   margin-bottom: 0.5em;\r
121 }\r
122 div.title + * {\r
123   margin-top: 0;\r
124 }\r
125 \r
126 td div.title:first-child {\r
127   margin-top: 0.0em;\r
128 }\r
129 div.content div.title:first-child {\r
130   margin-top: 0.0em;\r
131 }\r
132 div.content + div.title {\r
133   margin-top: 0.0em;\r
134 }\r
135 \r
136 div.sidebarblock > div.content {\r
137   background: #ffffee;\r
138   border: 1px solid silver;\r
139   padding: 0.5em;\r
140 }\r
141 \r
142 div.listingblock > div.content {\r
143   border: 1px solid silver;\r
144   background: #f4f4f4;\r
145   padding: 0.5em;\r
146 }\r
147 \r
148 div.quoteblock > div.content {\r
149   padding-left: 2.0em;\r
150 }\r
151 div.quoteblock .attribution {\r
152   text-align: right;\r
153 }\r
154 \r
155 div.admonitionblock .icon {\r
156   vertical-align: top;\r
157   font-size: 1.1em;\r
158   font-weight: bold;\r
159   text-decoration: underline;\r
160   color: #527bbd;\r
161   padding-right: 0.5em;\r
162 }\r
163 div.admonitionblock td.content {\r
164   padding-left: 0.5em;\r
165   border-left: 2px solid silver;\r
166 }\r
167 \r
168 div.exampleblock > div.content {\r
169   border-left: 2px solid silver;\r
170   padding: 0.5em;\r
171 }\r
172 \r
173 div.verseblock div.content {\r
174   white-space: pre;\r
175 }\r
176 \r
177 div.imageblock div.content { padding-left: 0; }\r
178 div.imageblock img { border: 1px solid silver; }\r
179 span.image img { border-style: none; }\r
180 \r
181 dl {\r
182   margin-top: 0.8em;\r
183   margin-bottom: 0.8em;\r
184 }\r
185 dt {\r
186   margin-top: 0.5em;\r
187   margin-bottom: 0;\r
188   font-style: italic;\r
189 }\r
190 dd > *:first-child {\r
191   margin-top: 0;\r
192 }\r
193 \r
194 ul, ol {\r
195     list-style-position: outside;\r
196 }\r
197 ol.olist2 {\r
198   list-style-type: lower-alpha;\r
199 }\r
200 \r
201 div.tableblock > table {\r
202   border-color: #527bbd;\r
203   border-width: 3px;\r
204 }\r
205 thead {\r
206   font-family: sans-serif;\r
207   font-weight: bold;\r
208 }\r
209 tfoot {\r
210   font-weight: bold;\r
211 }\r
212 \r
213 div.hlist {\r
214   margin-top: 0.8em;\r
215   margin-bottom: 0.8em;\r
216 }\r
217 td.hlist1 {\r
218   vertical-align: top;\r
219   font-style: italic;\r
220   padding-right: 0.8em;\r
221 }\r
222 td.hlist2 {\r
223   vertical-align: top;\r
224 }\r
225 \r
226 @media print {\r
227   div#footer-badges { display: none; }\r
228 }\r
229 include::./stylesheets/xhtml11-manpage.css[]\r
230 /* Workarounds for IE6's broken and incomplete CSS2. */\r
231 \r
232 div.sidebar-content {\r
233   background: #ffffee;\r
234   border: 1px solid silver;\r
235   padding: 0.5em;\r
236 }\r
237 div.sidebar-title, div.image-title {\r
238   font-family: sans-serif;\r
239   font-weight: bold;\r
240   margin-top: 0.0em;\r
241   margin-bottom: 0.5em;\r
242 }\r
243 \r
244 div.listingblock div.content {\r
245   border: 1px solid silver;\r
246   background: #f4f4f4;\r
247   padding: 0.5em;\r
248 }\r
249 \r
250 div.quoteblock-content {\r
251   padding-left: 2.0em;\r
252 }\r
253 \r
254 div.exampleblock-content {\r
255   border-left: 2px solid silver;\r
256   padding-left: 0.5em;\r
257 }\r
258 </style>\r
259 <title>git-repo-config(1)</title>\r
260 </head>\r
261 <body>\r
262 <div id="header">\r
263 <h1>\r
264 git-repo-config(1) Manual Page\r
265 </h1>\r
266 <h2>NAME</h2>\r
267 <div class="sectionbody">\r
268 <p>git-repo-config -\r
269    Get and set options in .git/config\r
270 </p>\r
271 </div>\r
272 </div>\r
273 <h2>SYNOPSIS</h2>\r
274 <div class="sectionbody">\r
275 <div class="verseblock">\r
276 <div class="content"><em>git-repo-config</em> [type] name [value [value_regex]]\r
277 <em>git-repo-config</em> [type] --replace-all name [value [value_regex]]\r
278 <em>git-repo-config</em> [type] --get name [value_regex]\r
279 <em>git-repo-config</em> [type] --get-all name [value_regex]\r
280 <em>git-repo-config</em> [type] --unset name [value_regex]\r
281 <em>git-repo-config</em> [type] --unset-all name [value_regex]</div></div>\r
282 </div>\r
283 <h2>DESCRIPTION</h2>\r
284 <div class="sectionbody">\r
285 <p>You can query/set/replace/unset options with this command. The name is\r
286 actually the section and the key separated by a dot, and the value will be\r
287 escaped.</p>\r
288 <p>If you want to set/unset an option which can occur on multiple lines, you\r
289 should provide a POSIX regex for the value. If you want to handle the lines\r
290 <strong>not</strong> matching the regex, just prepend a single exclamation mark in front\r
291 (see EXAMPLES).</p>\r
292 <p>The type specifier can be either <em>--int</em> or <em>--bool</em>, which will make\r
293 <em>git-repo-config</em> ensure that the variable(s) are of the given type and\r
294 convert the value to the canonical form (simple decimal number for int,\r
295 a "true" or "false" string for bool). If no type specifier is passed,\r
296 no checks or transformations are performed on the value.</p>\r
297 <p>This command will fail if</p>\r
298 <ol>\r
299 <li>\r
300 <p>\r
301 .git/config is invalid,\r
302 </p>\r
303 </li>\r
304 <li>\r
305 <p>\r
306 .git/config can not be written to,\r
307 </p>\r
308 </li>\r
309 <li>\r
310 <p>\r
311 no section was provided,\r
312 </p>\r
313 </li>\r
314 <li>\r
315 <p>\r
316 the section or key is invalid,\r
317 </p>\r
318 </li>\r
319 <li>\r
320 <p>\r
321 you try to unset an option which does not exist, or\r
322 </p>\r
323 </li>\r
324 <li>\r
325 <p>\r
326 you try to unset/set an option for which multiple lines match.\r
327 </p>\r
328 </li>\r
329 </ol>\r
330 </div>\r
331 <h2>OPTIONS</h2>\r
332 <div class="sectionbody">\r
333 <dl>\r
334 <dt>\r
335 --replace-all\r
336 </dt>\r
337 <dd>\r
338 <p>\r
339         Default behaviour is to replace at most one line. This replaces\r
340         all lines matching the key (and optionally the value_regex)\r
341 </p>\r
342 </dd>\r
343 <dt>\r
344 --get\r
345 </dt>\r
346 <dd>\r
347 <p>\r
348         Get the value for a given key (optionally filtered by a regex\r
349         matching the value).\r
350 </p>\r
351 </dd>\r
352 <dt>\r
353 --get-all\r
354 </dt>\r
355 <dd>\r
356 <p>\r
357         Like get, but does not fail if the number of values for the key\r
358         is not exactly one.\r
359 </p>\r
360 </dd>\r
361 <dt>\r
362 --unset\r
363 </dt>\r
364 <dd>\r
365 <p>\r
366         Remove the line matching the key from .git/config.\r
367 </p>\r
368 </dd>\r
369 <dt>\r
370 --unset-all\r
371 </dt>\r
372 <dd>\r
373 <p>\r
374         Remove all matching lines from .git/config.\r
375 </p>\r
376 </dd>\r
377 </dl>\r
378 </div>\r
379 <h2>EXAMPLE</h2>\r
380 <div class="sectionbody">\r
381 <p>Given a .git/config like this:</p>\r
382 <div class="literalblock">\r
383 <div class="content">\r
384 <pre><tt>#\r
385 # This is the config file, and\r
386 # a '#' or ';' character indicates\r
387 # a comment\r
388 #</tt></pre>\r
389 </div></div>\r
390 <div class="literalblock">\r
391 <div class="content">\r
392 <pre><tt>; core variables\r
393 [core]\r
394         ; Don't trust file modes\r
395         filemode = false</tt></pre>\r
396 </div></div>\r
397 <div class="literalblock">\r
398 <div class="content">\r
399 <pre><tt>; Our diff algorithm\r
400 [diff]\r
401         external = "/usr/local/bin/gnu-diff -u"\r
402         renames = true</tt></pre>\r
403 </div></div>\r
404 <div class="literalblock">\r
405 <div class="content">\r
406 <pre><tt>; Proxy settings\r
407 [proxy]\r
408         command="ssh" for "ssh://kernel.org/"\r
409         command="proxy-command" for kernel.org\r
410         command="myprotocol-command" for "my://"\r
411         command=default-proxy ; for all the rest</tt></pre>\r
412 </div></div>\r
413 <p>you can set the filemode to true with</p>\r
414 <div class="listingblock">\r
415 <div class="content">\r
416 <pre><tt>% git repo-config core.filemode true</tt></pre>\r
417 </div></div>\r
418 <p>The hypothetic proxy command entries actually have a postfix to discern\r
419 to what URL they apply. Here is how to change the entry for kernel.org\r
420 to "ssh".</p>\r
421 <div class="listingblock">\r
422 <div class="content">\r
423 <pre><tt>% git repo-config proxy.command '"ssh" for kernel.org' 'for kernel.org$'</tt></pre>\r
424 </div></div>\r
425 <p>This makes sure that only the key/value pair for kernel.org is replaced.</p>\r
426 <p>To delete the entry for renames, do</p>\r
427 <div class="listingblock">\r
428 <div class="content">\r
429 <pre><tt>% git repo-config --unset diff.renames</tt></pre>\r
430 </div></div>\r
431 <p>If you want to delete an entry for a multivar (like proxy.command above),\r
432 you have to provide a regex matching the value of exactly one line.</p>\r
433 <p>To query the value for a given key, do</p>\r
434 <div class="listingblock">\r
435 <div class="content">\r
436 <pre><tt>% git repo-config --get core.filemode</tt></pre>\r
437 </div></div>\r
438 <p>or</p>\r
439 <div class="listingblock">\r
440 <div class="content">\r
441 <pre><tt>% git repo-config core.filemode</tt></pre>\r
442 </div></div>\r
443 <p>or, to query a multivar:</p>\r
444 <div class="listingblock">\r
445 <div class="content">\r
446 <pre><tt>% git repo-config --get proxy.command "for kernel.org$"</tt></pre>\r
447 </div></div>\r
448 <p>If you want to know all the values for a multivar, do:</p>\r
449 <div class="listingblock">\r
450 <div class="content">\r
451 <pre><tt>% git repo-config --get-all proxy.command</tt></pre>\r
452 </div></div>\r
453 <p>If you like to live dangerous, you can replace <strong>all</strong> proxy.commands by a\r
454 new one with</p>\r
455 <div class="listingblock">\r
456 <div class="content">\r
457 <pre><tt>% git repo-config --replace-all proxy.command ssh</tt></pre>\r
458 </div></div>\r
459 <p>However, if you really only want to replace the line for the default proxy,\r
460 i.e. the one without a "for &#8230;" postfix, do something like this:</p>\r
461 <div class="listingblock">\r
462 <div class="content">\r
463 <pre><tt>% git repo-config proxy.command ssh '! for '</tt></pre>\r
464 </div></div>\r
465 <p>To actually match only values with an exclamation mark, you have to</p>\r
466 <div class="listingblock">\r
467 <div class="content">\r
468 <pre><tt>% git repo-config section.key value '[!]'</tt></pre>\r
469 </div></div>\r
470 </div>\r
471 <h2>Author</h2>\r
472 <div class="sectionbody">\r
473 <p>Written by Johannes Schindelin &lt;Johannes.Schindelin@gmx.de&gt;</p>\r
474 </div>\r
475 <h2>Documentation</h2>\r
476 <div class="sectionbody">\r
477 <p>Documentation by Johannes Schindelin.</p>\r
478 </div>\r
479 <h2>GIT</h2>\r
480 <div class="sectionbody">\r
481 <p>Part of the <a href="git.html">git(7)</a> suite</p>\r
482 </div>\r
483 <div id="footer">\r
484 <div id="footer-text">\r
485 Last updated 10-Mar-2006 00:31:33 UTC\r
486 </div>\r
487 </div>\r
488 </body>\r
489 </html>\r