Autogenerated manpages for v2.44.0-568-g436d4
[git-manpages.git] / man1 / git-remote-ext.1
blob1b2a83bdcd6df7909026c223496226903c4b5b0c
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 vsnapshot <http://docbook.sf.net/>
5 .\"      Date: 2024-04-10
6 .\"    Manual: Git Manual
7 .\"    Source: Git 2.44.0.568.g436d4e5b14
8 .\"  Language: English
9 .\"
10 .TH "GIT\-REMOTE\-EXT" "1" "2024\-04\-10" "Git 2\&.44\&.0\&.568\&.g436d4e" "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 .sp
38 .SH "DESCRIPTION"
39 .sp
40 This remote helper uses the specified \fI<command>\fR to connect to a remote Git server\&.
41 .sp
42 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\&.
43 .sp
44 Command and arguments are separated by an unescaped space\&.
45 .sp
46 The following sequences have a special meaning:
47 .PP
48 \*(Aq% \*(Aq
49 .RS 4
50 Literal space in command or argument\&.
51 .RE
52 .PP
53 \fI%%\fR
54 .RS 4
55 Literal percent sign\&.
56 .RE
57 .PP
58 \fI%s\fR
59 .RS 4
60 Replaced with name (receive\-pack, upload\-pack, or upload\-archive) of the service Git wants to invoke\&.
61 .RE
62 .PP
63 \fI%S\fR
64 .RS 4
65 Replaced with long name (git\-receive\-pack, git\-upload\-pack, or git\-upload\-archive) of the service Git wants to invoke\&.
66 .RE
67 .PP
68 \fI%G\fR (must be the first characters in an argument)
69 .RS 4
70 This argument will not be passed to
71 \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\&.
72 .sp
73 This is useful if the remote side is git:// server accessed over some tunnel\&.
74 .RE
75 .PP
76 \fI%V\fR (must be first characters in argument)
77 .RS 4
78 This argument will not be passed to
79 \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)\&.
80 .RE
81 .SH "ENVIRONMENT VARIABLES"
82 .PP
83 GIT_TRANSLOOP_DEBUG
84 .RS 4
85 If set, prints debugging information about various reads/writes\&.
86 .RE
87 .SH "ENVIRONMENT VARIABLES PASSED TO COMMAND"
88 .PP
89 GIT_EXT_SERVICE
90 .RS 4
91 Set to long name (git\-upload\-pack, etc\&...) of service helper needs to invoke\&.
92 .RE
93 .PP
94 GIT_EXT_SERVICE_NOPREFIX
95 .RS 4
96 Set to long name (upload\-pack, etc\&...) of service helper needs to invoke\&.
97 .RE
98 .SH "EXAMPLES"
99 .sp
100 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:
102 "ext::ssh \-i /home/foo/\&.ssh/somekey user@host\&.example %S \fIfoo/repo\fR"
103 .RS 4
104 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\&.
107 "ext::socat \-t3600 \- ABSTRACT\-CONNECT:/git\-server %G/somerepo"
108 .RS 4
109 Represents repository with path /somerepo accessible over git protocol at the abstract namespace address /git\-server\&.
112 "ext::git\-server\-alias foo %G/repo"
113 .RS 4
114 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\&.
117 "ext::git\-server\-alias foo %G/repo %Vfoo"
118 .RS 4
119 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)\&.
122 "ext::git\-server\-alias foo %G/repo% with% spaces %Vfoo"
123 .RS 4
124 Represents a repository with path
125 \fB/repo with spaces\fR
126 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)\&.
129 "ext::git\-ssl foo\&.example /bar"
130 .RS 4
131 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)\&.
133 .SH "SEE ALSO"
135 \fBgitremote-helpers\fR(7)
136 .SH "GIT"
138 Part of the \fBgit\fR(1) suite