remote-helpers: Fetch more than one ref in a batch
[git/dscho.git] / Documentation / git-remote-helpers.txt
blobe44d821c7b92bbb0d030060ae3ecdba45a830be9
1 git-remote-helpers(1)
2 =====================
4 NAME
5 ----
6 git-remote-helpers - Helper programs for interoperation with remote git
8 SYNOPSIS
9 --------
10 'git remote-<transport>' <remote>
12 DESCRIPTION
13 -----------
15 These programs are normally not used directly by end users, but are
16 invoked by various git programs that interact with remote repositories
17 when the repository they would operate on will be accessed using
18 transport code not linked into the main git binary. Various particular
19 helper programs will behave as documented here.
21 COMMANDS
22 --------
24 Commands are given by the caller on the helper's standard input, one per line.
26 'capabilities'::
27         Lists the capabilities of the helper, one per line, ending
28         with a blank line.
30 'list'::
31         Lists the refs, one per line, in the format "<value> <name>
32         [<attr> ...]". The value may be a hex sha1 hash, "@<dest>" for
33         a symref, or "?" to indicate that the helper could not get the
34         value of the ref. A space-separated list of attributes follows
35         the name; unrecognized attributes are ignored. After the
36         complete list, outputs a blank line.
38 'fetch' <sha1> <name>::
39         Fetches the given object, writing the necessary objects
40         to the database.  Fetch commands are sent in a batch, one
41         per line, and the batch is terminated with a blank line.
42         Outputs a single blank line when all fetch commands in the
43         same batch are complete. Only objects which were reported
44         in the ref list with a sha1 may be fetched this way.
46 Optionally may output a 'lock <file>' line indicating a file under
47 GIT_DIR/objects/pack which is keeping a pack until refs can be
48 suitably updated.
50 Supported if the helper has the "fetch" capability.
52 If a fatal error occurs, the program writes the error message to
53 stderr and exits. The caller should expect that a suitable error
54 message has been printed if the child closes the connection without
55 completing a valid response for the current command.
57 Additional commands may be supported, as may be determined from
58 capabilities reported by the helper.
60 CAPABILITIES
61 ------------
63 'fetch'::
64         This helper supports the 'fetch' command.
66 REF LIST ATTRIBUTES
67 -------------------
69 None are defined yet, but the caller must accept any which are supplied.
71 Documentation
72 -------------
73 Documentation by Daniel Barkalow.
75 GIT
76 ---
77 Part of the linkgit:git[1] suite