Hi Jonathan, Since patch has already been reviewed many times, and signed off by Junio before going into pu, I've tried to minimize changes and prepare a fixup patch while addressing all your concerns. Do tell me if it's alright. diff --git a/Documentation/git-remote-helpers.txt b/Documentation/git-remote-helpers.txt index 6ffc0da..52332ed 100644 --- a/Documentation/git-remote-helpers.txt +++ b/Documentation/git-remote-helpers.txt @@ -12,26 +12,27 @@ SYNOPSIS DESCRIPTION ----------- -Remote helper programs are normally not used directly by end users, +Remote helper programs are normally not used directly by end users but are invoked by git when it needs to interact with remote repositories. They implement a subset of the capabilities documented -here, and conform to the "remote helper protocol". When git needs +here and conform to the "remote helper protocol". When git needs needs to interact with a repository served by a remote helper, it -spawns the helper as an independent process and interacts with it over -the specified protocol. git sends commands to the helper -over standard input, and receives the result written to standard +spawns the helper as an independent process, sends it commands +over standard input, and receives the results written to standard output by the helper over a pipe. Because a remote helper runs as an independent process to interact with remote repositories, there is no need to re-link git when adding a new helper nor need to link the helper with the implementation of git. -All the capabilities of remote helpers have to do with discovering and +Every helper must support the "capabilities" command, which lists a +set of commands corresponding to the capabilities of the helper. +The capabilities have to do with discovering and updating remote refs, transporting objects between local and remote, -and updating the local object store. Using the 'fetch' capability, -they can discover refs on the remote, transfer objects from the remote -reachable via those refs to local, and update the local object +and updating the local object store. Helpers supporting the 'fetch' +capability can discover refs on the remote, transfer objects from the +remote reachable via those refs to local, and update the local object store. Using the 'push' capability, they can transfer objects from -local to remote, and update the corresponding refs as necessary. +local to remote, and update remote refs. Git comes with a "curl" family of remote helpers, that handle various transport protocols, such as 'git-remote-http', 'git-remote-https', -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html