Skip to content

Commit 00b84e9

Browse files
artagnongitster
authored andcommitted
Documentation/remote-helpers: Rewrite description
Rewrite the description section to describe what exactly remote helpers are and the need for them. Also mention the curl family of remote helpers as an example. [jc: with readability fixes from Jonathan squashed in] Signed-off-by: Ramkumar Ramachandra <[email protected]> Reviewed-by: Jonathan Nieder <[email protected]> Acked-by: Sverre Rabbelier <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 11766ca commit 00b84e9

File tree

1 file changed

+27
-6
lines changed

1 file changed

+27
-6
lines changed

Documentation/git-remote-helpers.txt

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ git-remote-helpers(1)
33

44
NAME
55
----
6-
git-remote-helpers - Helper programs for interoperation with remote git
6+
git-remote-helpers - Helper programs to interact with remote repositories
77

88
SYNOPSIS
99
--------
@@ -12,11 +12,32 @@ SYNOPSIS
1212
DESCRIPTION
1313
-----------
1414

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.
15+
Remote helper programs are normally not used directly by end users,
16+
but they are invoked by git when it needs to interact with remote
17+
repositories git does not support natively. A given helper will
18+
implement a subset of the capabilities documented here. When git
19+
needs to interact with a repository using a remote helper, it spawns
20+
the helper as an independent process, sends commands to the helper's
21+
standard input, and expects results from the helper's standard
22+
output. Because a remote helper runs as an independent process from
23+
git, there is no need to re-link git to add a new helper, nor any
24+
need to link the helper with the implementation of git.
25+
26+
Every helper must support the "capabilities" command, which git will
27+
use to determine what other commands the helper will accept. Other
28+
commands generally concern facilities like discovering and updating
29+
remote refs, transporting objects between the object database and
30+
the remote repository, and updating the local object store.
31+
32+
Helpers supporting the 'fetch' capability can discover refs from the
33+
remote repository and transfer objects reachable from those refs to
34+
the local object store. Helpers supporting the 'push' capability can
35+
transfer local objects to the remote repository and update remote refs.
36+
37+
Git comes with a "curl" family of remote helpers, that handle various
38+
transport protocols, such as 'git-remote-http', 'git-remote-https',
39+
'git-remote-ftp' and 'git-remote-ftps'. They implement the capabilities
40+
'fetch', 'option', and 'push'.
2041

2142
COMMANDS
2243
--------

0 commit comments

Comments
 (0)