1 <!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">
5 <meta http-equiv=
"Content-Type" content=
"text/html; charset=UTF-8" />
6 <meta name=
"generator" content=
"AsciiDoc 8.4.5" />
7 <title>Remotes configuration API
</title>
8 <style type=
"text/css">
10 p
, li
, dt
, dd
, div
, pre
, h1
, h2
, h3
, h4
, h5
, h6
{
12 border: 1px solid red;
17 margin: 1em 5% 1em 5%;
22 text-decoration: underline
;
42 h1
, h2
, h3
, h4
, h5
, h6
{
44 font-family: sans-serif
;
51 border-bottom: 2px solid silver
;
69 border: 1px solid silver
;
88 font-family: sans-serif
;
94 span#revnumber
, span#revdate
, span#revremark
{
95 font-family: sans-serif
;
99 font-family: sans-serif
;
101 border-top: 2px solid silver
;
107 padding-bottom: 0.5em;
111 padding-bottom: 0.5em;
116 margin-bottom: 1.5em;
118 div
.tableblock
, div
.imageblock
, div
.exampleblock
, div
.verseblock
,
119 div
.quoteblock
, div
.literalblock
, div
.listingblock
, div
.sidebarblock
,
120 div
.admonitionblock
{
122 margin-bottom: 1.5em;
124 div
.admonitionblock
{
126 margin-bottom: 2.5em;
129 div
.content
{ /* Block element content. */
133 /* Block element titles. */
134 div
.title
, caption
.title
{
136 font-family: sans-serif
;
140 margin-bottom: 0.5em;
146 td div
.title:first-child
{
149 div
.content div
.title:first-child
{
152 div
.content
+ div
.title
{
156 div
.sidebarblock
> div
.content
{
158 border: 1px solid silver
;
162 div
.listingblock
> div
.content
{
163 border: 1px solid silver
;
172 div
.quoteblock
> div
.attribution
{
181 div
.verseblock
> div
.content
{
184 div
.verseblock
> div
.attribution
{
188 /* DEPRECATED: Pre version 8.2.7 verse style literal block. */
189 div
.verseblock
+ div
.attribution
{
193 div
.admonitionblock
.icon
{
197 text-decoration: underline
;
199 padding-right: 0.5em;
201 div
.admonitionblock td
.content
{
203 border-left: 2px solid silver
;
206 div
.exampleblock
> div
.content
{
207 border-left: 2px solid silver
;
211 div
.imageblock div
.content
{ padding-left: 0; }
212 span
.image img
{ border-style: none
; }
213 a
.image:visited
{ color: white
; }
217 margin-bottom: 0.8em;
230 list-style-position: outside
;
233 list-style-type: decimal
;
236 list-style-type: lower-alpha
;
239 list-style-type: upper-alpha
;
242 list-style-type: lower-roman
;
245 list-style-type: upper-roman
;
248 div
.compact ul
, div
.compact ol
,
249 div
.compact p
, div
.compact p
,
250 div
.compact div
, div
.compact div
{
252 margin-bottom: 0.1em;
255 div
.tableblock
> table
{
256 border: 3px solid
#527bbd;
259 font-family: sans-serif
;
271 /* Because the table frame attribute is overriden by CSS in most browsers. */
272 div
.tableblock
> table
[frame
="void"] {
275 div
.tableblock
> table
[frame
="hsides"] {
276 border-left-style: none
;
277 border-right-style: none
;
279 div
.tableblock
> table
[frame
="vsides"] {
280 border-top-style: none
;
281 border-bottom-style: none
;
287 margin-bottom: 0.8em;
290 padding-bottom: 15px;
292 dt
.hdlist1
.strong
, td
.hdlist1
.strong
{
298 padding-right: 0.8em;
304 div
.hdlist
.compact tr
{
314 div#footer-badges
{ display: none
; }
319 font-family: sans-serif
;
323 margin-bottom: 0.1em;
326 div
.toclevel1
, div
.toclevel2
, div
.toclevel3
, div
.toclevel4
{
342 /* Workarounds for IE6's broken and incomplete CSS2. */
344 div
.sidebar-content
{
346 border: 1px solid silver
;
349 div
.sidebar-title
, div
.image-title
{
351 font-family: sans-serif
;
354 margin-bottom: 0.5em;
357 div
.listingblock div
.content
{
358 border: 1px solid silver
;
363 div
.quoteblock-attribution
{
368 div
.verseblock-content
{
371 div
.verseblock-attribution
{
376 div
.exampleblock-content
{
377 border-left: 2px solid silver
;
381 /* IE6 sets dynamically generated links as visited. */
382 div#toc
a:visited
{ color: blue
; }
387 <h1>Remotes configuration API
</h1>
390 <div class=
"sectionbody">
391 <div class=
"paragraph"><p>The API in remote.h gives access to the configuration related to
392 remotes. It handles all three configuration mechanisms historically
393 and currently used by git, and presents the information in a uniform
394 fashion. Note that the code also handles plain URLs without any
395 configuration, giving them just the default information.
</p></div>
398 <h2 id=
"_struct_remote">struct remote
</h2>
399 <div class=
"sectionbody">
400 <div class=
"dlist"><dl>
406 The user
’s nickname for the remote
414 An array of all of the url_nr URLs configured for the remote
422 An array of all of the pushurl_nr push URLs configured for the remote
430 An array of refspecs configured for pushing, with
431 push_refspec being the literal strings, and push_refspec_nr
440 An array of refspecs configured for fetching, with
441 fetch_refspec being the literal strings, and fetch_refspec_nr
450 The setting for whether to fetch tags (as a separate rule from
451 the configured refspecs); -
1 means never to fetch tags,
0
452 means to auto-follow tags based on the default heuristic,
1
453 means to always auto-follow tags, and
2 means to fetch all
458 <tt>receivepack
</tt>,
<tt>uploadpack
</tt>
462 The configured helper programs to run on the remote side, for
463 git-native protocols.
471 The proxy to use for curl (http, https, ftp, etc.) URLs.
475 <div class=
"paragraph"><p>struct remotes can be found by name with remote_get(), and iterated
476 through with for_each_remote(). remote_get(NULL) will return the
477 default remote, given the current branch and configuration.
</p></div>
479 <h2 id=
"_struct_refspec">struct refspec
</h2>
480 <div class=
"sectionbody">
481 <div class=
"paragraph"><p>A struct refspec holds the parsed interpretation of a refspec. If it
482 will force updates (starts with a
<em>+
</em>), force is true. If it is a
483 pattern (sides end with
<em>*
</em>) pattern is true. src and dest are the two
484 sides (if a pattern, only the part outside of the wildcards); if there
485 is only one side, it is src, and dst is NULL; if sides exist but are
486 empty (i.e., the refspec either starts or ends with
<em>:
</em>), the
487 corresponding side is
"".
</p></div>
488 <div class=
"paragraph"><p>This parsing can be done to an array of strings to give an array of
489 struct refpsecs with parse_ref_spec().
</p></div>
490 <div class=
"paragraph"><p>remote_find_tracking(), given a remote and a struct refspec with
491 either src or dst filled out, will fill out the other such that the
492 result is in the
"fetch" specification for the remote (note that this
493 evaluates patterns and returns a single result).
</p></div>
495 <h2 id=
"_struct_branch">struct branch
</h2>
496 <div class=
"sectionbody">
497 <div class=
"paragraph"><p>Note that this may end up moving to branch.h
</p></div>
498 <div class=
"paragraph"><p>struct branch holds the configuration for a branch. It can be looked
499 branch_get(NULL) for HEAD.
</p></div>
500 <div class=
"paragraph"><p>It contains:
</p></div>
501 <div class=
"dlist"><dl>
507 The short name of the branch.
515 The full path for the branch ref.
523 The name of the remote listed in the configuration.
531 The struct remote for that remote.
539 An array of the
"merge" lines in the configuration.
547 An array of the struct refspecs used for the merge lines. That
548 is, merge[i]
→dst is a local tracking ref which should be
549 merged into this branch by default.
557 The number of merge configurations
561 <div class=
"paragraph"><p>branch_has_merge_config() returns true if the given branch has merge
562 configuration given.
</p></div>
564 <h2 id=
"_other_stuff">Other stuff
</h2>
565 <div class=
"sectionbody">
566 <div class=
"paragraph"><p>There is other stuff in remote.h that is related, in general, to the
567 process of interacting with remotes.
</p></div>
568 <div class=
"paragraph"><p>(Daniel Barkalow)
</p></div>
571 <div id=
"footer-text">
572 Last updated
2009-
06-
21 08:
02:
57 UTC