summaryrefslogtreecommitdiffstats
path: root/git-remote-helpers.html
diff options
context:
space:
mode:
authorJunio C Hamano <junio@kernel.org>2010-04-19 06:46:34 +0000
committerJunio C Hamano <junio@kernel.org>2010-04-19 06:46:34 +0000
commit0c053e8e661202cfc9e266b20f43998538ceeac6 (patch)
tree0be0b8716f8be4b0bfd778c061634fb223c5a94d /git-remote-helpers.html
parentd965706c16463c13fa1d7871b06e94934b65ef1c (diff)
downloadgit-htmldocs-0c053e8e661202cfc9e266b20f43998538ceeac6.tar.gz
Autogenerated HTML docs for v1.7.1-rc2
Diffstat (limited to 'git-remote-helpers.html')
-rw-r--r--git-remote-helpers.html128
1 files changed, 78 insertions, 50 deletions
diff --git a/git-remote-helpers.html b/git-remote-helpers.html
index e981c1b89..89db9ec9a 100644
--- a/git-remote-helpers.html
+++ b/git-remote-helpers.html
@@ -314,21 +314,63 @@ git-remote-helpers(1) Manual Page
<h2>NAME</h2>
<div class="sectionbody">
<p>git-remote-helpers -
- Helper programs for interoperation with remote git
+ Helper programs to interact with remote repositories
</p>
</div>
</div>
<h2>SYNOPSIS</h2>
<div class="sectionbody">
-<div class="para"><p><em>git remote-&lt;transport&gt;</em> &lt;remote&gt;</p></div>
+<div class="para"><p><em>git remote-&lt;transport&gt;</em> &lt;repository&gt; [&lt;URL&gt;]</p></div>
</div>
<h2 id="_description">DESCRIPTION</h2>
<div class="sectionbody">
-<div class="para"><p>These programs are normally not used directly by end users, but are
-invoked by various git programs that interact with remote repositories
-when the repository they would operate on will be accessed using
-transport code not linked into the main git binary. Various particular
-helper programs will behave as documented here.</p></div>
+<div class="para"><p>Remote helper programs are normally not used directly by end users,
+but they are invoked by git when it needs to interact with remote
+repositories git does not support natively. A given helper will
+implement a subset of the capabilities documented here. When git
+needs to interact with a repository using a remote helper, it spawns
+the helper as an independent process, sends commands to the helper's
+standard input, and expects results from the helper's standard
+output. Because a remote helper runs as an independent process from
+git, there is no need to re-link git to add a new helper, nor any
+need to link the helper with the implementation of git.</p></div>
+<div class="para"><p>Every helper must support the "capabilities" command, which git will
+use to determine what other commands the helper will accept. Other
+commands generally concern facilities like discovering and updating
+remote refs, transporting objects between the object database and
+the remote repository, and updating the local object store.</p></div>
+<div class="para"><p>Helpers supporting the <em>fetch</em> capability can discover refs from the
+remote repository and transfer objects reachable from those refs to
+the local object store. Helpers supporting the <em>push</em> capability can
+transfer local objects to the remote repository and update remote refs.</p></div>
+<div class="para"><p>Git comes with a "curl" family of remote helpers, that handle various
+transport protocols, such as <em>git-remote-http</em>, <em>git-remote-https</em>,
+<em>git-remote-ftp</em> and <em>git-remote-ftps</em>. They implement the capabilities
+<em>fetch</em>, <em>option</em>, and <em>push</em>.</p></div>
+</div>
+<h2 id="_invocation">INVOCATION</h2>
+<div class="sectionbody">
+<div class="para"><p>Remote helper programs are invoked with one or (optionally) two
+arguments. The first argument specifies a remote repository as in git;
+it is either the name of a configured remote or a URL. The second
+argument specifies a URL; it is usually of the form
+<em>&lt;transport&gt;://&lt;address&gt;</em>, but any arbitrary string is possible.</p></div>
+<div class="para"><p>When git encounters a URL of the form <em>&lt;transport&gt;://&lt;address&gt;</em>, where
+<em>&lt;transport&gt;</em> is a protocol that it cannot handle natively, it
+automatically invokes <em>git remote-&lt;transport&gt;</em> with the full URL as
+the second argument. If such a URL is encountered directly on the
+command line, the first argument is the same as the second, and if it
+is encountered in a configured remote, the first argument is the name
+of that remote.</p></div>
+<div class="para"><p>A URL of the form <em>&lt;transport&gt;::&lt;address&gt;</em> explicitly instructs git to
+invoke <em>git remote-&lt;transport&gt;</em> with <em>&lt;address&gt;</em> as the second
+argument. If such a URL is encountered directly on the command line,
+the first argument is <em>&lt;address&gt;</em>, and if it is encountered in a
+configured remote, the first argument is the name of that remote.</p></div>
+<div class="para"><p>Additionally, when a configured remote has <em>remote.&lt;name&gt;.vcs</em> set to
+<em>&lt;transport&gt;</em>, git explicitly invokes <em>git remote-&lt;transport&gt;</em> with
+<em>&lt;name&gt;</em> as the first argument. If set, the second argument is
+<em>remote.&lt;name&gt;.url</em>; otherwise, the second argument is omitted.</p></div>
</div>
<h2 id="_commands">COMMANDS</h2>
<div class="sectionbody">
@@ -340,8 +382,8 @@ helper programs will behave as documented here.</p></div>
<dd>
<p>
Lists the capabilities of the helper, one per line, ending
- with a blank line. Each capability may be preceded with <em>*</em>.
- This marks them mandatory for git version using the remote
+ with a blank line. Each capability may be preceded with <em>*</em>,
+ which marks them mandatory for git version using the remote
helper to understand (unknown mandatory capability is fatal
error).
</p>
@@ -355,8 +397,8 @@ helper programs will behave as documented here.</p></div>
[&lt;attr&gt; &#8230;]". The value may be a hex sha1 hash, "@&lt;dest&gt;" for
a symref, or "?" to indicate that the helper could not get the
value of the ref. A space-separated list of attributes follows
- the name; unrecognized attributes are ignored. After the
- complete list, outputs a blank line.
+ the name; unrecognized attributes are ignored. The list ends
+ with a blank line.
</p>
<div class="para"><p>If <em>push</em> is supported this may be called as <em>list for-push</em>
to obtain the current refs prior to sending one or more <em>push</em>
@@ -367,12 +409,12 @@ commands to the helper.</p></div>
</dt>
<dd>
<p>
- Set the transport helper option &lt;name&gt; to &lt;value&gt;. Outputs a
+ Sets the transport helper option &lt;name&gt; to &lt;value&gt;. Outputs a
single line containing one of <em>ok</em> (option successfully set),
<em>unsupported</em> (option not recognized) or <em>error &lt;msg&gt;</em>
- (option &lt;name&gt; is supported but &lt;value&gt; is not correct
+ (option &lt;name&gt; is supported but &lt;value&gt; is not valid
for it). Options should be set before other commands,
- and may how those commands behave.
+ and may influence the behavior of those commands.
</p>
<div class="para"><p>Supported if the helper has the "option" capability.</p></div>
</dd>
@@ -383,7 +425,7 @@ commands to the helper.</p></div>
<p>
Fetches the given object, writing the necessary objects
to the database. Fetch commands are sent in a batch, one
- per line, and the batch is terminated with a blank line.
+ per line, terminated with a blank line.
Outputs a single blank line when all fetch commands in the
same batch are complete. Only objects which were reported
in the ref list with a sha1 may be fetched this way.
@@ -398,7 +440,7 @@ suitably updated.</p></div>
</dt>
<dd>
<p>
- Pushes the given &lt;src&gt; commit or branch locally to the
+ Pushes the given local &lt;src&gt; commit or branch to the
remote branch described by &lt;dst&gt;. A batch sequence of
one or more push commands is terminated with a blank line.
</p>
@@ -424,6 +466,8 @@ style string if it contains an LF.</p></div>
by applying the refspecs from the "refspec" capability to the
name of the ref.
</p>
+<div class="para"><p>Especially useful for interoperability with a foreign versioning
+system.</p></div>
<div class="para"><p>Supported if the helper has the "import" capability.</p></div>
</dd>
<dt>
@@ -458,33 +502,21 @@ capabilities reported by the helper.</p></div>
<dt>
<em>fetch</em>
</dt>
-<dd>
-<p>
- This helper supports the <em>fetch</em> command.
-</p>
-</dd>
<dt>
<em>option</em>
</dt>
-<dd>
-<p>
- This helper supports the option command.
-</p>
-</dd>
<dt>
<em>push</em>
</dt>
-<dd>
-<p>
- This helper supports the <em>push</em> command.
-</p>
-</dd>
<dt>
<em>import</em>
</dt>
+<dt>
+<em>connect</em>
+</dt>
<dd>
<p>
- This helper supports the <em>import</em> command.
+ This helper supports the corresponding command with the same name.
</p>
</dd>
<dt>
@@ -502,14 +534,6 @@ capabilities reported by the helper.</p></div>
it is not used, it is effectively "<strong>:</strong>"
</p>
</dd>
-<dt>
-<em>connect</em>
-</dt>
-<dd>
-<p>
- This helper supports the <em>connect</em> command.
-</p>
-</dd>
</dl></div>
</div>
<h2 id="_ref_list_attributes">REF LIST ATTRIBUTES</h2>
@@ -544,10 +568,10 @@ capabilities reported by the helper.</p></div>
</dt>
<dd>
<p>
- Change the level of messages displayed by the helper.
- When N is 0 the end-user has asked the process to be
- quiet, and the helper should produce only error output.
- N of 1 is the default level of verbosity, higher values
+ Changes the verbosity of messages displayed by the helper.
+ A value of 0 for N means that processes operate
+ quietly, and the helper produces only error output.
+ 1 is the default level of verbosity, and higher values
of N correspond to the number of -v flags passed on the
command line.
</p>
@@ -557,7 +581,7 @@ capabilities reported by the helper.</p></div>
</dt>
<dd>
<p>
- Enable (or disable) progress messages displayed by the
+ Enables (or disables) progress messages displayed by the
transport helper during a command.
</p>
</dd>
@@ -566,7 +590,7 @@ capabilities reported by the helper.</p></div>
</dt>
<dd>
<p>
- Deepen the history of a shallow repository.
+ Deepens the history of a shallow repository.
</p>
</dd>
<dt>
@@ -593,14 +617,18 @@ capabilities reported by the helper.</p></div>
</dt>
<dd>
<p>
- Set service path (--upload-pack, --receive-pack etc.) for
- next connect. Remote helper MAY support this option. Remote
- helper MUST NOT rely on this option being set before
+ Sets service path (--upload-pack, --receive-pack etc.) for
+ next connect. Remote helper may support this option, but
+ must not rely on this option being set before
connect request occurs.
</p>
</dd>
</dl></div>
</div>
+<h2 id="_see_also">SEE ALSO</h2>
+<div class="sectionbody">
+<div class="para"><p><a href="git-remote.html">git-remote(1)</a></p></div>
+</div>
<h2 id="_documentation">Documentation</h2>
<div class="sectionbody">
<div class="para"><p>Documentation by Daniel Barkalow and Ilari Liusvaara</p></div>
@@ -611,7 +639,7 @@ capabilities reported by the helper.</p></div>
</div>
<div id="footer">
<div id="footer-text">
-Last updated 2010-02-13 00:59:53 UTC
+Last updated 2010-04-19 06:46:05 UTC
</div>
</div>
</body>