On Tue, Nov 27, 2012 at 5:03 PM, Max Horn <max@xxxxxxxxx> wrote: > index 5ce4cda..9a7e583 100644 > --- a/Documentation/git-remote-helpers.txt > +++ b/Documentation/git-remote-helpers.txt > @@ -35,6 +35,37 @@ transport protocols, such as 'git-remote-http', 'git-remote-https', > 'git-remote-ftp' and 'git-remote-ftps'. They implement the capabilities > 'fetch', 'option', and 'push'. > > +INVOCATION > +---------- > + > +Remote helper programs are invoked with one or (optionally) two > +arguments. The first argument specifies a remote repository as in git; > +it is either the name of a configured remote or a URL. The second > +argument specifies a URL; it is usually of the form > +'<transport>://<address>', but any arbitrary string is possible. > +The 'GIT_DIR' environment variable is set up for the remote helper > +and can be used to determine where to store additional data or from > +which directory to invoke auxiliary git commands. > + > +When git encounters a URL of the form '<transport>://<address>', where > +'<transport>' is a protocol that it cannot handle natively, it > +automatically invokes 'git remote-<transport>' with the full URL as > +the second argument. If such a URL is encountered directly on the > +command line, the first argument is the same as the second, and if it > +is encountered in a configured remote, the first argument is the name > +of that remote. Maybe it's worth mentioning that if the alias of the remote is not specified, the URL is used instead. > +A URL of the form '<transport>::<address>' explicitly instructs git to > +invoke 'git remote-<transport>' with '<address>' as the second > +argument. If such a URL is encountered directly on the command line, > +the first argument is '<address>', and if it is encountered in a > +configured remote, the first argument is the name of that remote. > + > +Additionally, when a configured remote has 'remote.<name>.vcs' set to > +'<transport>', git explicitly invokes 'git remote-<transport>' with > +'<name>' as the first argument. If set, the second argument is > +'remote.<name>.url'; otherwise, the second argument is omitted. I find all this text a bit confusing. First argument, second argument, etc. Personally, I would describe everything in the terms of alias (1st arg), and URL (2nd arg). -- Felipe Contreras -- 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