logo

oasis-root

Compiled tree of Oasis Linux based on own branch at <https://hacktivis.me/git/oasis/> git clone https://anongit.hacktivis.me/git/oasis-root.git

git-remote-ext.1 (5460B)


  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: 2025-03-14
  6. .\" Manual: Git Manual
  7. .\" Source: Git 2.49.0
  8. .\" Language: English
  9. .\"
  10. .TH "GIT\-REMOTE\-EXT" "1" "2025-03-14" "Git 2\&.49\&.0" "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:
  100. .PP
  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\&.
  104. .RE
  105. .PP
  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\&.
  109. .RE
  110. .PP
  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\&.
  114. .RE
  115. .PP
  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)\&.
  119. .RE
  120. .PP
  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)\&.
  128. .RE
  129. .PP
  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)\&.
  133. .RE
  134. .SH "SEE ALSO"
  135. .sp
  136. \fBgitremote-helpers\fR(7)
  137. .SH "GIT"
  138. .sp
  139. Part of the \fBgit\fR(1) suite