2010-10-12 20:39:43 +04:00
|
|
|
git-remote-ext(1)
|
|
|
|
=================
|
|
|
|
|
|
|
|
NAME
|
|
|
|
----
|
|
|
|
git-remote-ext - Bridge smart transport to external command.
|
|
|
|
|
|
|
|
SYNOPSIS
|
|
|
|
--------
|
2011-07-02 06:38:26 +04:00
|
|
|
[verse]
|
2011-02-17 10:48:06 +03:00
|
|
|
git remote add <nick> "ext::<command>[ <arguments>...]"
|
2010-10-12 20:39:43 +04:00
|
|
|
|
|
|
|
DESCRIPTION
|
|
|
|
-----------
|
2011-02-17 10:48:06 +03:00
|
|
|
This remote helper uses the specified '<command>' to connect
|
2013-01-21 23:17:53 +04:00
|
|
|
to a remote Git server.
|
2010-10-12 20:39:43 +04:00
|
|
|
|
2011-02-17 10:48:06 +03:00
|
|
|
Data written to stdin of the specified '<command>' is assumed
|
2011-01-03 22:03:34 +03:00
|
|
|
to be sent to a git:// server, git-upload-pack, git-receive-pack
|
2010-10-12 20:39:43 +04:00
|
|
|
or git-upload-archive (depending on situation), and data read
|
2011-02-17 10:48:06 +03:00
|
|
|
from stdout of <command> is assumed to be received from
|
2010-10-12 20:39:43 +04:00
|
|
|
the same service.
|
|
|
|
|
2011-01-03 22:03:34 +03:00
|
|
|
Command and arguments are separated by an unescaped space.
|
2010-10-12 20:39:43 +04:00
|
|
|
|
|
|
|
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
|
2013-01-21 23:17:53 +04:00
|
|
|
upload-archive) of the service Git wants to invoke.
|
2010-10-12 20:39:43 +04:00
|
|
|
|
|
|
|
'%S'::
|
|
|
|
Replaced with long name (git-receive-pack,
|
|
|
|
git-upload-pack, or git-upload-archive) of the service
|
2013-01-21 23:17:53 +04:00
|
|
|
Git wants to invoke.
|
2010-10-12 20:39:43 +04:00
|
|
|
|
2011-01-03 22:03:34 +03:00
|
|
|
'%G' (must be the first characters in an argument)::
|
2011-02-17 10:48:06 +03:00
|
|
|
This argument will not be passed to '<command>'. Instead, it
|
2011-01-03 22:03:34 +03:00
|
|
|
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.
|
2010-10-12 20:39:43 +04:00
|
|
|
+
|
|
|
|
This is useful if remote side is git:// server accessed over
|
|
|
|
some tunnel.
|
|
|
|
|
2010-11-17 20:15:34 +03:00
|
|
|
'%V' (must be first characters in argument)::
|
2011-02-17 10:48:06 +03:00
|
|
|
This argument will not be passed to '<command>'. Instead it sets
|
2011-01-03 22:03:34 +03:00
|
|
|
the vhost field in the git:// service request (to rest of the argument).
|
2010-11-17 20:15:34 +03:00
|
|
|
Default is not to send vhost in such request (if sent).
|
2010-10-12 20:39:43 +04:00
|
|
|
|
2018-04-30 18:35:33 +03:00
|
|
|
ENVIRONMENT VARIABLES
|
|
|
|
---------------------
|
2010-10-12 20:39:43 +04:00
|
|
|
|
|
|
|
GIT_TRANSLOOP_DEBUG::
|
|
|
|
If set, prints debugging information about various reads/writes.
|
|
|
|
|
2018-04-30 18:35:33 +03:00
|
|
|
ENVIRONMENT VARIABLES PASSED TO COMMAND
|
|
|
|
---------------------------------------
|
2010-10-12 20:39:43 +04:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
2018-04-30 18:35:33 +03:00
|
|
|
EXAMPLES
|
|
|
|
--------
|
2013-01-21 23:17:53 +04:00
|
|
|
This remote helper is transparently used by Git when
|
2010-10-12 20:39:43 +04:00
|
|
|
you use commands such as "git fetch <URL>", "git clone <URL>",
|
2011-02-17 10:48:06 +03:00
|
|
|
, "git push <URL>" or "git remote add <nick> <URL>", where <URL>
|
2010-10-12 20:39:43 +04:00
|
|
|
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"::
|
2013-04-12 02:36:10 +04:00
|
|
|
Represents repository with path /somerepo accessible over
|
2010-10-12 20:39:43 +04:00
|
|
|
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"
|
2013-01-21 23:17:53 +04:00
|
|
|
(this allows multiple virtual Git servers to share a
|
2010-10-12 20:39:43 +04:00
|
|
|
link-level address).
|
|
|
|
|
|
|
|
"ext::git-server-alias foo %G/repo% with% spaces %Vfoo"::
|
2019-03-06 16:04:46 +03:00
|
|
|
Represents a repository with path `/repo with spaces` accessed
|
2010-10-12 20:39:43 +04:00
|
|
|
using the helper program "git-server-alias foo". The hostname for
|
|
|
|
the remote server passed in the protocol stream will be "foo"
|
2013-01-21 23:17:53 +04:00
|
|
|
(this allows multiple virtual Git servers to share a
|
2010-10-12 20:39:43 +04:00
|
|
|
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).
|
|
|
|
|
2014-11-11 23:17:07 +03:00
|
|
|
SEE ALSO
|
|
|
|
--------
|
2019-03-26 00:41:36 +03:00
|
|
|
linkgit:gitremote-helpers[7]
|
2014-11-11 23:17:07 +03:00
|
|
|
|
2010-10-12 20:39:43 +04:00
|
|
|
GIT
|
|
|
|
---
|
|
|
|
Part of the linkgit:git[1] suite
|