Autogenerated manpages for v2.47.0-305-g4083a
[git-manpages.git] / man1 / git-remote-ext.1
bloba9174f58e705d951155d2b957396514aa38ecbde
1 '\" t
2 .\"     Title: git-remote-ext
3 .\"    Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
4 .\" Generator: DocBook XSL Stylesheets v1.79.2 <http://docbook.sf.net/>
5 .\"      Date: 2024-11-20
6 .\"    Manual: Git Manual
7 .\"    Source: Git 2.47.0.305.g4083a6f052
8 .\"  Language: English
9 .\"
10 .TH "GIT\-REMOTE\-EXT" "1" "2024-11-20" "Git 2\&.47\&.0\&.305\&.g4083a6" "Git Manual"
11 .\" -----------------------------------------------------------------
12 .\" * Define some portability stuff
13 .\" -----------------------------------------------------------------
14 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15 .\" http://bugs.debian.org/507673
16 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
17 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18 .ie \n(.g .ds Aq \(aq
19 .el       .ds Aq '
20 .\" -----------------------------------------------------------------
21 .\" * set default formatting
22 .\" -----------------------------------------------------------------
23 .\" disable hyphenation
24 .nh
25 .\" disable justification (adjust text to left margin only)
26 .ad l
27 .\" -----------------------------------------------------------------
28 .\" * MAIN CONTENT STARTS HERE *
29 .\" -----------------------------------------------------------------
30 .SH "NAME"
31 git-remote-ext \- Bridge smart transport to external command\&.
32 .SH "SYNOPSIS"
33 .sp
34 .nf
35 git remote add <nick> "ext::<command>[ <arguments>\&...\:]"
36 .fi
37 .SH "DESCRIPTION"
38 .sp
39 This remote helper uses the specified \fI<command>\fR to connect to a remote Git server\&.
40 .sp
41 Data written to stdin of the specified \fI<command>\fR 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\&.
42 .sp
43 Command and arguments are separated by an unescaped space\&.
44 .sp
45 The following sequences have a special meaning:
46 .PP
47 \*(Aq% \*(Aq
48 .RS 4
49 Literal space in command or argument\&.
50 .RE
51 .PP
52 \fI%%\fR
53 .RS 4
54 Literal percent sign\&.
55 .RE
56 .PP
57 \fI%s\fR
58 .RS 4
59 Replaced with name (receive\-pack, upload\-pack, or upload\-archive) of the service Git wants to invoke\&.
60 .RE
61 .PP
62 \fI%S\fR
63 .RS 4
64 Replaced with long name (git\-receive\-pack, git\-upload\-pack, or git\-upload\-archive) of the service Git wants to invoke\&.
65 .RE
66 .PP
67 \fI%G\fR (must be the first characters in an argument)
68 .RS 4
69 This argument will not be passed to
70 \fI<command>\fR\&. 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 the rest of the argument\&. Default is not to send such a request\&.
71 .sp
72 This is useful if the remote side is git:// server accessed over some tunnel\&.
73 .RE
74 .PP
75 \fI%V\fR (must be first characters in argument)
76 .RS 4
77 This argument will not be passed to
78 \fI<command>\fR\&. Instead it sets the vhost field in the git:// service request (to the rest of the argument)\&. Default is not to send vhost in such request (if sent)\&.
79 .RE
80 .SH "ENVIRONMENT VARIABLES"
81 .PP
82 GIT_TRANSLOOP_DEBUG
83 .RS 4
84 If set, prints debugging information about various reads/writes\&.
85 .RE
86 .SH "ENVIRONMENT VARIABLES PASSED TO COMMAND"
87 .PP
88 GIT_EXT_SERVICE
89 .RS 4
90 Set to long name (git\-upload\-pack, etc\&...\:) of service helper needs to invoke\&.
91 .RE
92 .PP
93 GIT_EXT_SERVICE_NOPREFIX
94 .RS 4
95 Set to long name (upload\-pack, etc\&...\:) of service helper needs to invoke\&.
96 .RE
97 .SH "EXAMPLES"
98 .sp
99 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 \fBext::\fR\&. Examples:
101 "ext::ssh \-i /home/foo/\&.ssh/somekey user@host\&.example %S \fIfoo/repo\fR"
102 .RS 4
103 Like host\&.example:foo/repo, but use /home/foo/\&.ssh/somekey as keypair and user as the user on the remote side\&. This avoids the need to edit \&.ssh/config\&.
106 "ext::socat \-t3600 \- ABSTRACT\-CONNECT:/git\-server %G/somerepo"
107 .RS 4
108 Represents repository with path /somerepo accessible over git protocol at the abstract namespace address /git\-server\&.
111 "ext::git\-server\-alias foo %G/repo"
112 .RS 4
113 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\&.
116 "ext::git\-server\-alias foo %G/repo %Vfoo"
117 .RS 4
118 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)\&.
121 "ext::git\-server\-alias foo %G/repo% with% spaces %Vfoo"
122 .RS 4
123 Represents a repository with path
124 \fB/repo\fR
125 \fBwith\fR
126 \fBspaces\fR
127 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)\&.
130 "ext::git\-ssl foo\&.example /bar"
131 .RS 4
132 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)\&.
134 .SH "SEE ALSO"
136 \fBgitremote-helpers\fR(7)
137 .SH "GIT"
139 Part of the \fBgit\fR(1) suite