| 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 accessible 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). | |
| SEE ALSO | |
| -------- | |
| linkgit:gitremote-helpers[7] | |
| GIT | |
| --- | |
| Part of the linkgit:git[1] suite |