blob: 61de24865a0b6adef55d1cd9837fea333ad2ea87 [file] [log] [blame]
Junio C Hamano6d559fc2008-02-20 10:44:261<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
4<head>
5<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Junio C Hamano7bd050f2011-09-22 06:32:226<meta name="generator" content="AsciiDoc 8.5.2" />
Junio C Hamano103b5722011-01-31 05:03:457<title>Remotes configuration API</title>
Junio C Hamano6d559fc2008-02-20 10:44:268<style type="text/css">
9/* Debug borders */
10p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
11/*
12 border: 1px solid red;
13*/
14}
15
16body {
17 margin: 1em 5% 1em 5%;
18}
19
Junio C Hamano4604fe52008-09-19 06:37:1020a {
21 color: blue;
22 text-decoration: underline;
23}
24a:visited {
25 color: fuchsia;
26}
Junio C Hamano6d559fc2008-02-20 10:44:2627
28em {
29 font-style: italic;
Junio C Hamano103b5722011-01-31 05:03:4530 color: navy;
Junio C Hamano6d559fc2008-02-20 10:44:2631}
32
33strong {
34 font-weight: bold;
Junio C Hamano103b5722011-01-31 05:03:4535 color: #083194;
Junio C Hamano6d559fc2008-02-20 10:44:2636}
37
38tt {
39 color: navy;
40}
41
42h1, h2, h3, h4, h5, h6 {
43 color: #527bbd;
44 font-family: sans-serif;
45 margin-top: 1.2em;
46 margin-bottom: 0.5em;
47 line-height: 1.3;
48}
49
Junio C Hamano4604fe52008-09-19 06:37:1050h1, h2, h3 {
Junio C Hamano6d559fc2008-02-20 10:44:2651 border-bottom: 2px solid silver;
52}
53h2 {
Junio C Hamano6d559fc2008-02-20 10:44:2654 padding-top: 0.5em;
55}
Junio C Hamano4604fe52008-09-19 06:37:1056h3 {
57 float: left;
58}
59h3 + * {
60 clear: left;
61}
Junio C Hamano6d559fc2008-02-20 10:44:2662
63div.sectionbody {
64 font-family: serif;
65 margin-left: 0;
66}
67
68hr {
69 border: 1px solid silver;
70}
71
72p {
73 margin-top: 0.5em;
74 margin-bottom: 0.5em;
75}
76
Junio C Hamano103b5722011-01-31 05:03:4577ul, ol, li > p {
78 margin-top: 0;
79}
80
Junio C Hamano6d559fc2008-02-20 10:44:2681pre {
82 padding: 0;
83 margin: 0;
84}
85
86span#author {
87 color: #527bbd;
88 font-family: sans-serif;
89 font-weight: bold;
Junio C Hamano4604fe52008-09-19 06:37:1090 font-size: 1.1em;
Junio C Hamano6d559fc2008-02-20 10:44:2691}
92span#email {
93}
Junio C Hamano103b5722011-01-31 05:03:4594span#revnumber, span#revdate, span#revremark {
Junio C Hamano6d559fc2008-02-20 10:44:2695 font-family: sans-serif;
96}
97
98div#footer {
99 font-family: sans-serif;
100 font-size: small;
101 border-top: 2px solid silver;
102 padding-top: 0.5em;
103 margin-top: 4.0em;
104}
105div#footer-text {
106 float: left;
107 padding-bottom: 0.5em;
108}
109div#footer-badges {
110 float: right;
111 padding-bottom: 0.5em;
112}
113
Junio C Hamano103b5722011-01-31 05:03:45114div#preamble {
115 margin-top: 1.5em;
116 margin-bottom: 1.5em;
117}
Junio C Hamano6d559fc2008-02-20 10:44:26118div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
119div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
120div.admonitionblock {
Junio C Hamano7bd050f2011-09-22 06:32:22121 margin-top: 1.0em;
Junio C Hamano6d559fc2008-02-20 10:44:26122 margin-bottom: 1.5em;
123}
124div.admonitionblock {
Junio C Hamano7bd050f2011-09-22 06:32:22125 margin-top: 2.0em;
126 margin-bottom: 2.0em;
127 margin-right: 10%;
128 color: #606060;
Junio C Hamano6d559fc2008-02-20 10:44:26129}
130
131div.content { /* Block element content. */
132 padding: 0;
133}
134
135/* Block element titles. */
136div.title, caption.title {
Junio C Hamano103b5722011-01-31 05:03:45137 color: #527bbd;
Junio C Hamano6d559fc2008-02-20 10:44:26138 font-family: sans-serif;
139 font-weight: bold;
140 text-align: left;
141 margin-top: 1.0em;
142 margin-bottom: 0.5em;
143}
144div.title + * {
145 margin-top: 0;
146}
147
148td div.title:first-child {
149 margin-top: 0.0em;
150}
151div.content div.title:first-child {
152 margin-top: 0.0em;
153}
154div.content + div.title {
155 margin-top: 0.0em;
156}
157
158div.sidebarblock > div.content {
159 background: #ffffee;
160 border: 1px solid silver;
161 padding: 0.5em;
162}
163
164div.listingblock > div.content {
165 border: 1px solid silver;
166 background: #f4f4f4;
167 padding: 0.5em;
168}
169
Junio C Hamano7bd050f2011-09-22 06:32:22170div.quoteblock, div.verseblock {
171 padding-left: 1.0em;
172 margin-left: 1.0em;
Junio C Hamano103b5722011-01-31 05:03:45173 margin-right: 10%;
Junio C Hamano7bd050f2011-09-22 06:32:22174 border-left: 5px solid #dddddd;
175 color: #777777;
Junio C Hamano6d559fc2008-02-20 10:44:26176}
Junio C Hamano7bd050f2011-09-22 06:32:22177
Junio C Hamano103b5722011-01-31 05:03:45178div.quoteblock > div.attribution {
179 padding-top: 0.5em;
Junio C Hamano6d559fc2008-02-20 10:44:26180 text-align: right;
181}
Junio C Hamano103b5722011-01-31 05:03:45182
Junio C Hamano103b5722011-01-31 05:03:45183div.verseblock > div.content {
184 white-space: pre;
185}
186div.verseblock > div.attribution {
187 padding-top: 0.75em;
188 text-align: left;
189}
190/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
Junio C Hamano4604fe52008-09-19 06:37:10191div.verseblock + div.attribution {
192 text-align: left;
193}
Junio C Hamano6d559fc2008-02-20 10:44:26194
195div.admonitionblock .icon {
196 vertical-align: top;
197 font-size: 1.1em;
198 font-weight: bold;
199 text-decoration: underline;
200 color: #527bbd;
201 padding-right: 0.5em;
202}
203div.admonitionblock td.content {
204 padding-left: 0.5em;
Junio C Hamano7bd050f2011-09-22 06:32:22205 border-left: 3px solid #dddddd;
Junio C Hamano6d559fc2008-02-20 10:44:26206}
207
208div.exampleblock > div.content {
Junio C Hamano7bd050f2011-09-22 06:32:22209 border-left: 3px solid #dddddd;
210 padding-left: 0.5em;
Junio C Hamano6d559fc2008-02-20 10:44:26211}
212
Junio C Hamano6d559fc2008-02-20 10:44:26213div.imageblock div.content { padding-left: 0; }
Junio C Hamano6d559fc2008-02-20 10:44:26214span.image img { border-style: none; }
Junio C Hamano103b5722011-01-31 05:03:45215a.image:visited { color: white; }
Junio C Hamano6d559fc2008-02-20 10:44:26216
217dl {
218 margin-top: 0.8em;
219 margin-bottom: 0.8em;
220}
221dt {
222 margin-top: 0.5em;
223 margin-bottom: 0;
Junio C Hamano103b5722011-01-31 05:03:45224 font-style: normal;
225 color: navy;
Junio C Hamano6d559fc2008-02-20 10:44:26226}
227dd > *:first-child {
Junio C Hamano103b5722011-01-31 05:03:45228 margin-top: 0.1em;
Junio C Hamano6d559fc2008-02-20 10:44:26229}
230
231ul, ol {
232 list-style-position: outside;
233}
Junio C Hamano103b5722011-01-31 05:03:45234ol.arabic {
235 list-style-type: decimal;
236}
237ol.loweralpha {
Junio C Hamano6d559fc2008-02-20 10:44:26238 list-style-type: lower-alpha;
239}
Junio C Hamano103b5722011-01-31 05:03:45240ol.upperalpha {
241 list-style-type: upper-alpha;
242}
243ol.lowerroman {
244 list-style-type: lower-roman;
245}
246ol.upperroman {
247 list-style-type: upper-roman;
248}
249
250div.compact ul, div.compact ol,
251div.compact p, div.compact p,
252div.compact div, div.compact div {
253 margin-top: 0.1em;
254 margin-bottom: 0.1em;
255}
Junio C Hamano6d559fc2008-02-20 10:44:26256
257div.tableblock > table {
Junio C Hamano4604fe52008-09-19 06:37:10258 border: 3px solid #527bbd;
Junio C Hamano6d559fc2008-02-20 10:44:26259}
Junio C Hamano7bd050f2011-09-22 06:32:22260thead, p.table.header {
Junio C Hamano6d559fc2008-02-20 10:44:26261 font-family: sans-serif;
262 font-weight: bold;
263}
264tfoot {
265 font-weight: bold;
266}
Junio C Hamano103b5722011-01-31 05:03:45267td > div.verse {
268 white-space: pre;
269}
270p.table {
271 margin-top: 0;
272}
273/* Because the table frame attribute is overriden by CSS in most browsers. */
274div.tableblock > table[frame="void"] {
275 border-style: none;
276}
277div.tableblock > table[frame="hsides"] {
278 border-left-style: none;
279 border-right-style: none;
280}
281div.tableblock > table[frame="vsides"] {
282 border-top-style: none;
283 border-bottom-style: none;
284}
Junio C Hamano6d559fc2008-02-20 10:44:26285
Junio C Hamano103b5722011-01-31 05:03:45286
287div.hdlist {
Junio C Hamano6d559fc2008-02-20 10:44:26288 margin-top: 0.8em;
289 margin-bottom: 0.8em;
290}
Junio C Hamano103b5722011-01-31 05:03:45291div.hdlist tr {
292 padding-bottom: 15px;
Junio C Hamano4604fe52008-09-19 06:37:10293}
Junio C Hamano103b5722011-01-31 05:03:45294dt.hdlist1.strong, td.hdlist1.strong {
295 font-weight: bold;
296}
297td.hdlist1 {
Junio C Hamano6d559fc2008-02-20 10:44:26298 vertical-align: top;
Junio C Hamano103b5722011-01-31 05:03:45299 font-style: normal;
Junio C Hamano6d559fc2008-02-20 10:44:26300 padding-right: 0.8em;
Junio C Hamano103b5722011-01-31 05:03:45301 color: navy;
Junio C Hamano6d559fc2008-02-20 10:44:26302}
Junio C Hamano103b5722011-01-31 05:03:45303td.hdlist2 {
Junio C Hamano6d559fc2008-02-20 10:44:26304 vertical-align: top;
305}
Junio C Hamano103b5722011-01-31 05:03:45306div.hdlist.compact tr {
307 margin: 0;
308 padding-bottom: 0;
309}
310
311.comment {
312 background: yellow;
313}
Junio C Hamano6d559fc2008-02-20 10:44:26314
Junio C Hamano7bd050f2011-09-22 06:32:22315.footnote, .footnoteref {
316 font-size: 0.8em;
317}
318
319span.footnote, span.footnoteref {
320 vertical-align: super;
321}
322
323#footnotes {
324 margin: 20px 0 20px 0;
325 padding: 7px 0 0 0;
326}
327
328#footnotes div.footnote {
329 margin: 0 0 5px 0;
330}
331
332#footnotes hr {
333 border: none;
334 border-top: 1px solid silver;
335 height: 1px;
336 text-align: left;
337 margin-left: 0;
338 width: 20%;
339 min-width: 100px;
340}
341
342
Junio C Hamano6d559fc2008-02-20 10:44:26343@media print {
344 div#footer-badges { display: none; }
345}
Junio C Hamano4604fe52008-09-19 06:37:10346
Junio C Hamano7bd050f2011-09-22 06:32:22347div#toc {
348 margin-bottom: 2.5em;
349}
350
Junio C Hamano4604fe52008-09-19 06:37:10351div#toctitle {
352 color: #527bbd;
353 font-family: sans-serif;
354 font-size: 1.1em;
355 font-weight: bold;
356 margin-top: 1.0em;
357 margin-bottom: 0.1em;
358}
359
360div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
361 margin-top: 0;
362 margin-bottom: 0;
363}
364div.toclevel2 {
365 margin-left: 2em;
366 font-size: 0.9em;
367}
368div.toclevel3 {
369 margin-left: 4em;
370 font-size: 0.9em;
371}
372div.toclevel4 {
373 margin-left: 6em;
374 font-size: 0.9em;
375}
Junio C Hamano6d559fc2008-02-20 10:44:26376/* Workarounds for IE6's broken and incomplete CSS2. */
377
378div.sidebar-content {
379 background: #ffffee;
380 border: 1px solid silver;
381 padding: 0.5em;
382}
383div.sidebar-title, div.image-title {
Junio C Hamano103b5722011-01-31 05:03:45384 color: #527bbd;
Junio C Hamano6d559fc2008-02-20 10:44:26385 font-family: sans-serif;
386 font-weight: bold;
387 margin-top: 0.0em;
388 margin-bottom: 0.5em;
389}
390
391div.listingblock div.content {
392 border: 1px solid silver;
393 background: #f4f4f4;
394 padding: 0.5em;
395}
396
Junio C Hamano103b5722011-01-31 05:03:45397div.quoteblock-attribution {
398 padding-top: 0.5em;
399 text-align: right;
400}
401
402div.verseblock-content {
403 white-space: pre;
404}
405div.verseblock-attribution {
406 padding-top: 0.75em;
407 text-align: left;
Junio C Hamano6d559fc2008-02-20 10:44:26408}
409
410div.exampleblock-content {
Junio C Hamano7bd050f2011-09-22 06:32:22411 border-left: 3px solid #dddddd;
Junio C Hamano6d559fc2008-02-20 10:44:26412 padding-left: 0.5em;
413}
Junio C Hamano4604fe52008-09-19 06:37:10414
415/* IE6 sets dynamically generated links as visited. */
416div#toc a:visited { color: blue; }
Junio C Hamano6d559fc2008-02-20 10:44:26417</style>
Junio C Hamano7bd050f2011-09-22 06:32:22418<script type="text/javascript">
419/*<![CDATA[*/
420window.onload = function(){asciidoc.footnotes();}
421var asciidoc = { // Namespace.
422
423/////////////////////////////////////////////////////////////////////
424// Table Of Contents generator
425/////////////////////////////////////////////////////////////////////
426
427/* Author: Mihai Bazon, September 2002
428 * http://students.infoiasi.ro/~mishoo
429 *
430 * Table Of Content generator
431 * Version: 0.4
432 *
433 * Feel free to use this script under the terms of the GNU General Public
434 * License, as long as you do not remove or alter this notice.
435 */
436
437 /* modified by Troy D. Hanson, September 2006. License: GPL */
438 /* modified by Stuart Rackham, 2006, 2009. License: GPL */
439
440// toclevels = 1..4.
441toc: function (toclevels) {
442
443 function getText(el) {
444 var text = "";
445 for (var i = el.firstChild; i != null; i = i.nextSibling) {
446 if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
447 text += i.data;
448 else if (i.firstChild != null)
449 text += getText(i);
450 }
451 return text;
452 }
453
454 function TocEntry(el, text, toclevel) {
455 this.element = el;
456 this.text = text;
457 this.toclevel = toclevel;
458 }
459
460 function tocEntries(el, toclevels) {
461 var result = new Array;
462 var re = new RegExp('[hH]([2-'+(toclevels+1)+'])');
463 // Function that scans the DOM tree for header elements (the DOM2
464 // nodeIterator API would be a better technique but not supported by all
465 // browsers).
466 var iterate = function (el) {
467 for (var i = el.firstChild; i != null; i = i.nextSibling) {
468 if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
469 var mo = re.exec(i.tagName);
470 if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
471 result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
472 }
473 iterate(i);
474 }
475 }
476 }
477 iterate(el);
478 return result;
479 }
480
481 var toc = document.getElementById("toc");
482 var entries = tocEntries(document.getElementById("content"), toclevels);
483 for (var i = 0; i < entries.length; ++i) {
484 var entry = entries[i];
485 if (entry.element.id == "")
486 entry.element.id = "_toc_" + i;
487 var a = document.createElement("a");
488 a.href = "#" + entry.element.id;
489 a.appendChild(document.createTextNode(entry.text));
490 var div = document.createElement("div");
491 div.appendChild(a);
492 div.className = "toclevel" + entry.toclevel;
493 toc.appendChild(div);
494 }
495 if (entries.length == 0)
496 toc.parentNode.removeChild(toc);
497},
498
499
500/////////////////////////////////////////////////////////////////////
501// Footnotes generator
502/////////////////////////////////////////////////////////////////////
503
504/* Based on footnote generation code from:
505 * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
506 */
507
508footnotes: function () {
509 var cont = document.getElementById("content");
510 var noteholder = document.getElementById("footnotes");
511 var spans = cont.getElementsByTagName("span");
512 var refs = {};
513 var n = 0;
514 for (i=0; i<spans.length; i++) {
515 if (spans[i].className == "footnote") {
516 n++;
517 // Use [\s\S] in place of . so multi-line matches work.
518 // Because JavaScript has no s (dotall) regex flag.
519 note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
520 noteholder.innerHTML +=
521 "<div class='footnote' id='_footnote_" + n + "'>" +
522 "<a href='#_footnoteref_" + n + "' title='Return to text'>" +
523 n + "</a>. " + note + "</div>";
524 spans[i].innerHTML =
525 "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
526 "' title='View footnote' class='footnote'>" + n + "</a>]";
527 var id =spans[i].getAttribute("id");
528 if (id != null) refs["#"+id] = n;
529 }
530 }
531 if (n == 0)
532 noteholder.parentNode.removeChild(noteholder);
533 else {
534 // Process footnoterefs.
535 for (i=0; i<spans.length; i++) {
536 if (spans[i].className == "footnoteref") {
537 var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
538 href = href.match(/#.*/)[0]; // Because IE return full URL.
539 n = refs[href];
540 spans[i].innerHTML =
541 "[<a href='#_footnote_" + n +
542 "' title='View footnote' class='footnote'>" + n + "</a>]";
543 }
544 }
545 }
546}
547
548}
549/*]]>*/
550</script>
Junio C Hamano6d559fc2008-02-20 10:44:26551</head>
552<body>
553<div id="header">
554<h1>Remotes configuration API</h1>
555</div>
Junio C Hamano7bd050f2011-09-22 06:32:22556<div id="content">
Junio C Hamano6d559fc2008-02-20 10:44:26557<div id="preamble">
558<div class="sectionbody">
Junio C Hamano103b5722011-01-31 05:03:45559<div class="paragraph"><p>The API in remote.h gives access to the configuration related to
Junio C Hamano6d559fc2008-02-20 10:44:26560remotes. It handles all three configuration mechanisms historically
561and currently used by git, and presents the information in a uniform
562fashion. Note that the code also handles plain URLs without any
Junio C Hamano4604fe52008-09-19 06:37:10563configuration, giving them just the default information.</p></div>
Junio C Hamano6d559fc2008-02-20 10:44:26564</div>
565</div>
Junio C Hamano4604fe52008-09-19 06:37:10566<h2 id="_struct_remote">struct remote</h2>
Junio C Hamano6d559fc2008-02-20 10:44:26567<div class="sectionbody">
Junio C Hamano103b5722011-01-31 05:03:45568<div class="dlist"><dl>
569<dt class="hdlist1">
Junio C Hamano6d559fc2008-02-20 10:44:26570<tt>name</tt>
571</dt>
572<dd>
573<p>
Junio C Hamano103b5722011-01-31 05:03:45574 The user&#8217;s nickname for the remote
Junio C Hamano6d559fc2008-02-20 10:44:26575</p>
576</dd>
Junio C Hamano103b5722011-01-31 05:03:45577<dt class="hdlist1">
Junio C Hamano6d559fc2008-02-20 10:44:26578<tt>url</tt>
579</dt>
580<dd>
581<p>
582 An array of all of the url_nr URLs configured for the remote
583</p>
584</dd>
Junio C Hamano103b5722011-01-31 05:03:45585<dt class="hdlist1">
Junio C Hamano0e88f3e2009-06-21 08:03:25586<tt>pushurl</tt>
587</dt>
588<dd>
589<p>
590 An array of all of the pushurl_nr push URLs configured for the remote
591</p>
592</dd>
Junio C Hamano103b5722011-01-31 05:03:45593<dt class="hdlist1">
Junio C Hamano6d559fc2008-02-20 10:44:26594<tt>push</tt>
595</dt>
596<dd>
597<p>
598 An array of refspecs configured for pushing, with
599 push_refspec being the literal strings, and push_refspec_nr
600 being the quantity.
601</p>
602</dd>
Junio C Hamano103b5722011-01-31 05:03:45603<dt class="hdlist1">
Junio C Hamano6d559fc2008-02-20 10:44:26604<tt>fetch</tt>
605</dt>
606<dd>
607<p>
608 An array of refspecs configured for fetching, with
609 fetch_refspec being the literal strings, and fetch_refspec_nr
610 being the quantity.
611</p>
612</dd>
Junio C Hamano103b5722011-01-31 05:03:45613<dt class="hdlist1">
Junio C Hamano6d559fc2008-02-20 10:44:26614<tt>fetch_tags</tt>
615</dt>
616<dd>
617<p>
618 The setting for whether to fetch tags (as a separate rule from
619 the configured refspecs); -1 means never to fetch tags, 0
620 means to auto-follow tags based on the default heuristic, 1
621 means to always auto-follow tags, and 2 means to fetch all
622 tags.
623</p>
624</dd>
Junio C Hamano103b5722011-01-31 05:03:45625<dt class="hdlist1">
Junio C Hamano6d559fc2008-02-20 10:44:26626<tt>receivepack</tt>, <tt>uploadpack</tt>
627</dt>
628<dd>
629<p>
630 The configured helper programs to run on the remote side, for
631 git-native protocols.
632</p>
633</dd>
Junio C Hamano103b5722011-01-31 05:03:45634<dt class="hdlist1">
Junio C Hamano6d559fc2008-02-20 10:44:26635<tt>http_proxy</tt>
636</dt>
637<dd>
638<p>
639 The proxy to use for curl (http, https, ftp, etc.) URLs.
640</p>
641</dd>
Junio C Hamano4604fe52008-09-19 06:37:10642</dl></div>
Junio C Hamano103b5722011-01-31 05:03:45643<div class="paragraph"><p>struct remotes can be found by name with remote_get(), and iterated
Junio C Hamano6d559fc2008-02-20 10:44:26644through with for_each_remote(). remote_get(NULL) will return the
Junio C Hamano4604fe52008-09-19 06:37:10645default remote, given the current branch and configuration.</p></div>
Junio C Hamano6d559fc2008-02-20 10:44:26646</div>
Junio C Hamano4604fe52008-09-19 06:37:10647<h2 id="_struct_refspec">struct refspec</h2>
Junio C Hamano6d559fc2008-02-20 10:44:26648<div class="sectionbody">
Junio C Hamano103b5722011-01-31 05:03:45649<div class="paragraph"><p>A struct refspec holds the parsed interpretation of a refspec. If it
Junio C Hamano6d559fc2008-02-20 10:44:26650will force updates (starts with a <em>+</em>), force is true. If it is a
651pattern (sides end with <em>*</em>) pattern is true. src and dest are the two
652sides (if a pattern, only the part outside of the wildcards); if there
653is only one side, it is src, and dst is NULL; if sides exist but are
654empty (i.e., the refspec either starts or ends with <em>:</em>), the
Junio C Hamano4604fe52008-09-19 06:37:10655corresponding side is "".</p></div>
Junio C Hamano103b5722011-01-31 05:03:45656<div class="paragraph"><p>This parsing can be done to an array of strings to give an array of
Junio C Hamano4604fe52008-09-19 06:37:10657struct refpsecs with parse_ref_spec().</p></div>
Junio C Hamano103b5722011-01-31 05:03:45658<div class="paragraph"><p>remote_find_tracking(), given a remote and a struct refspec with
Junio C Hamano6d559fc2008-02-20 10:44:26659either src or dst filled out, will fill out the other such that the
660result is in the "fetch" specification for the remote (note that this
Junio C Hamano4604fe52008-09-19 06:37:10661evaluates patterns and returns a single result).</p></div>
Junio C Hamano6d559fc2008-02-20 10:44:26662</div>
Junio C Hamano4604fe52008-09-19 06:37:10663<h2 id="_struct_branch">struct branch</h2>
Junio C Hamano6d559fc2008-02-20 10:44:26664<div class="sectionbody">
Junio C Hamano103b5722011-01-31 05:03:45665<div class="paragraph"><p>Note that this may end up moving to branch.h</p></div>
666<div class="paragraph"><p>struct branch holds the configuration for a branch. It can be looked
Junio C Hamano4604fe52008-09-19 06:37:10667branch_get(NULL) for HEAD.</p></div>
Junio C Hamano103b5722011-01-31 05:03:45668<div class="paragraph"><p>It contains:</p></div>
669<div class="dlist"><dl>
670<dt class="hdlist1">
Junio C Hamano6d559fc2008-02-20 10:44:26671<tt>name</tt>
672</dt>
673<dd>
674<p>
675 The short name of the branch.
676</p>
677</dd>
Junio C Hamano103b5722011-01-31 05:03:45678<dt class="hdlist1">
Junio C Hamano6d559fc2008-02-20 10:44:26679<tt>refname</tt>
680</dt>
681<dd>
682<p>
683 The full path for the branch ref.
684</p>
685</dd>
Junio C Hamano103b5722011-01-31 05:03:45686<dt class="hdlist1">
Junio C Hamano6d559fc2008-02-20 10:44:26687<tt>remote_name</tt>
688</dt>
689<dd>
690<p>
691 The name of the remote listed in the configuration.
692</p>
693</dd>
Junio C Hamano103b5722011-01-31 05:03:45694<dt class="hdlist1">
Junio C Hamano6d559fc2008-02-20 10:44:26695<tt>remote</tt>
696</dt>
697<dd>
698<p>
699 The struct remote for that remote.
700</p>
701</dd>
Junio C Hamano103b5722011-01-31 05:03:45702<dt class="hdlist1">
Junio C Hamano6d559fc2008-02-20 10:44:26703<tt>merge_name</tt>
704</dt>
705<dd>
706<p>
707 An array of the "merge" lines in the configuration.
708</p>
709</dd>
Junio C Hamano103b5722011-01-31 05:03:45710<dt class="hdlist1">
Junio C Hamano6d559fc2008-02-20 10:44:26711<tt>merge</tt>
712</dt>
713<dd>
714<p>
715 An array of the struct refspecs used for the merge lines. That
Junio C Hamano103b5722011-01-31 05:03:45716 is, merge[i]&#8594;dst is a local tracking ref which should be
Junio C Hamano6d559fc2008-02-20 10:44:26717 merged into this branch by default.
718</p>
719</dd>
Junio C Hamano103b5722011-01-31 05:03:45720<dt class="hdlist1">
Junio C Hamano6d559fc2008-02-20 10:44:26721<tt>merge_nr</tt>
722</dt>
723<dd>
724<p>
725 The number of merge configurations
726</p>
727</dd>
Junio C Hamano4604fe52008-09-19 06:37:10728</dl></div>
Junio C Hamano103b5722011-01-31 05:03:45729<div class="paragraph"><p>branch_has_merge_config() returns true if the given branch has merge
Junio C Hamano4604fe52008-09-19 06:37:10730configuration given.</p></div>
Junio C Hamano6d559fc2008-02-20 10:44:26731</div>
Junio C Hamano4604fe52008-09-19 06:37:10732<h2 id="_other_stuff">Other stuff</h2>
Junio C Hamano6d559fc2008-02-20 10:44:26733<div class="sectionbody">
Junio C Hamano103b5722011-01-31 05:03:45734<div class="paragraph"><p>There is other stuff in remote.h that is related, in general, to the
Junio C Hamano4604fe52008-09-19 06:37:10735process of interacting with remotes.</p></div>
Junio C Hamano103b5722011-01-31 05:03:45736<div class="paragraph"><p>(Daniel Barkalow)</p></div>
Junio C Hamano6d559fc2008-02-20 10:44:26737</div>
Junio C Hamano7bd050f2011-09-22 06:32:22738</div>
739<div id="footnotes"><hr /></div>
Junio C Hamano6d559fc2008-02-20 10:44:26740<div id="footer">
741<div id="footer-text">
Junio C Hamano7bd050f2011-09-22 06:32:22742Last updated 2011-09-21 23:01:14 PDT
Junio C Hamano6d559fc2008-02-20 10:44:26743</div>
744</div>
745</body>
746</html>