| git-remote-ext(1) |
| ================= |
| |
| NAME |
| ---- |
| git-remote-ext - Bridge smart transport to external command. |
| |
| SYNOPSIS |
| -------- |
| [verse] |
| git remote add <nick> "ext::<command>[ <arguments>...]" |
| |
| DESCRIPTION |
| ----------- |
| This remote helper uses the specified '<command>' to connect |
| to a remote Git server. |
| |
| Data written to stdin of the specified '<command>' is assumed |
| to be sent to a git:// server, git-upload-pack, git-receive-pack |
| or git-upload-archive (depending on situation), and data read |
| from stdout of <command> is assumed to be received from |
| the same service. |
| |
| Command and arguments are separated by an unescaped space. |
| |
| The following sequences have a special meaning: |
| |
| '% ':: |
| Literal space in command or argument. |
| |
| '%%':: |
| Literal percent sign. |
| |
| '%s':: |
| Replaced with name (receive-pack, upload-pack, or |
| upload-archive) of the service Git wants to invoke. |
| |
| '%S':: |
| Replaced with long name (git-receive-pack, |
| git-upload-pack, or git-upload-archive) of the service |
| Git wants to invoke. |
| |
| '%G' (must be the first characters in an argument):: |
| This argument will not be passed to '<command>'. Instead, it |
| will cause the helper to start by sending git:// service requests to |
| the remote side with the service field set to an appropriate value and |
| the repository field set to rest of the argument. Default is not to send |
| such a request. |
| + |
| This is useful if remote side is git:// server accessed over |
| some tunnel. |
| |
| '%V' (must be first characters in argument):: |
| This argument will not be passed to '<command>'. Instead it sets |
| the vhost field in the git:// service request (to rest of the argument). |
| Default is not to send vhost in such request (if sent). |
| |
| ENVIRONMENT VARIABLES: |
| ---------------------- |
| |
| GIT_TRANSLOOP_DEBUG:: |
| If set, prints debugging information about various reads/writes. |
| |
| ENVIRONMENT VARIABLES PASSED TO COMMAND: |
| ---------------------------------------- |
| |
| GIT_EXT_SERVICE:: |
| Set to long name (git-upload-pack, etc...) of service helper needs |
| to invoke. |
| |
| GIT_EXT_SERVICE_NOPREFIX:: |
| Set to long name (upload-pack, etc...) of service helper needs |
| to invoke. |
| |
| |
| EXAMPLES: |
| --------- |
| This remote helper is transparently used by Git when |
| you use commands such as "git fetch <URL>", "git clone <URL>", |
| , "git push <URL>" or "git remote add <nick> <URL>", where <URL> |
| begins with `ext::`. Examples: |
| |
| "ext::ssh -i /home/foo/.ssh/somekey user@host.example %S 'foo/repo'":: |
| Like host.example:foo/repo, but use /home/foo/.ssh/somekey as |
| keypair and user as user on remote side. This avoids needing to |
| edit .ssh/config. |
| |
| "ext::socat -t3600 - ABSTRACT-CONNECT:/git-server %G/somerepo":: |
| Represents repository with path /somerepo accessable over |
| git protocol at abstract namespace address /git-server. |
| |
| "ext::git-server-alias foo %G/repo":: |
| Represents a repository with path /repo accessed using the |
| helper program "git-server-alias foo". The path to the |
| repository and type of request are not passed on the command |
| line but as part of the protocol stream, as usual with git:// |
| protocol. |
| |
| "ext::git-server-alias foo %G/repo %Vfoo":: |
| Represents a repository with path /repo accessed using the |
| helper program "git-server-alias foo". The hostname for the |
| remote server passed in the protocol stream will be "foo" |
| (this allows multiple virtual Git servers to share a |
| link-level address). |
| |
| "ext::git-server-alias foo %G/repo% with% spaces %Vfoo":: |
| Represents a repository with path '/repo with spaces' accessed |
| using the helper program "git-server-alias foo". The hostname for |
| the remote server passed in the protocol stream will be "foo" |
| (this allows multiple virtual Git servers to share a |
| link-level address). |
| |
| "ext::git-ssl foo.example /bar":: |
| Represents a repository accessed using the helper program |
| "git-ssl foo.example /bar". The type of request can be |
| determined by the helper using environment variables (see |
| above). |
| |
| Documentation |
| -------------- |
| Documentation by Ilari Liusvaara, Jonathan Nieder and the Git list |
| <git@vger.kernel.org> |
| |
| GIT |
| --- |
| Part of the linkgit:git[1] suite |