git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v7 1/2] Documentation/remote-helpers: Rewrite description

From
Ramkumar Ramachandra <artagnon@gmail.com>
Date
Mar 28, 2010, 18:03 UTC
Message-ID
<f3271551003281103x68812b3cj806d6235965f0a32@mail.gmail.com>
Rewrite the description section to describe what exactly remote
helpers are and the need for them. Also mention the curl family of
remote helpers as an example.
---
 The previous version got corrupted and didn't apply cleanly for some reason.
 Additionally split it into two parts now.
 Documentation/git-remote-helpers.txt |   32 ++++++++++++++++++++++++++------
 1 files changed, 26 insertions(+), 6 deletions(-)
diff --git a/Documentation/git-remote-helpers.txt
b/Documentation/git-remote-helpers.txt
index 1b5f61a..1304813 100644
--- a/Documentation/git-remote-helpers.txt
+++ b/Documentation/git-remote-helpers.txt
@@ -3,7 +3,7 @@ git-remote-helpers(1)

 NAME
 ----
-git-remote-helpers - Helper programs for interoperation with remote git
+git-remote-helpers - Helper programs to interact with remote repositories

 SYNOPSIS
 --------
@@ -12,11 +12,31 @@ SYNOPSIS
 DESCRIPTION
 -----------

-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.
+Remote helper programs are normally not used directly by end users,
+but are invoked by git when it needs to interact with remote
+repositories. They implement a subset of the capabilities documented
+here, and conform to the "remote helper protocol". When git needs
+needs to interact with a repository served by a remote helper, it
+spawns the helper as an independent process and interacts with it over
+the specified protocol. Essentially, git sends commands to the helper
+over standard input, and receives the result written to standard
+output by the helper over a pipe. Also, since remote helpers often
+need to link to the libraries required to interact with the remote
+repository, they avoid linking to the main git programs to evade
+licensing issues.
+
+All the capabilities of remote helpers have to do with discovering and
+updating remote refs, transporting objects between local and remote,
+and updating the local object store. Using the 'fetch' capability,
+they can discover refs on the remote, transfer objects from the remote
+reachable via those refs to local, and update the local object
+store. Using the 'push' capability, they can transfer objects from
+local to remote, and update the corresponding refs as necessary.
+
+Git comes with a "curl" family of remote helpers, specifically
+'git-remote-http', 'git-remote-https', 'git-remote-ftp' and
+'git-remote-ftps'. They implement the capabilities 'fetch', 'option',
+and 'push'.

 COMMANDS
 --------
-- 
1.7.0.3
Next: Gabriel Filion
Message 1 of 14 in “Documentation/remote-helpers: Rewrite description”
  1. 1/2 Documentation/remote-helpers: Rewrite descriptionRamkumar Ramachandra, Mar 28, 2010
  2. Gabriel FilionMar 29, 2010
  3. Ramkumar RamachandraMar 29, 2010
  4. Sverre RabbelierMar 29, 2010
  5. Daniel BarkalowMar 29, 2010
  6. Ramkumar RamachandraMar 29, 2010
  7. Jonathan NiederMar 29, 2010
  8. Daniel BarkalowMar 29, 2010
  9. Ramkumar RamachandraMar 30, 2010
  10. Tay Ray ChuanMar 29, 2010
  11. Ramkumar RamachandraMar 29, 2010
  12. Ramkumar RamachandraApr 5, 2010
  13. Junio C HamanoApr 5, 2010
  14. Ramkumar RamachandraApr 6, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.