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

Re: remote helper example with push/fetch capabilities

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Dec 15, 2014, 20:47 UTC
Message-ID
<20141215204740.GI29365@google.com>
In-Reply-To
<CAPCWLt6kxoJJSWAcyH_kW071Md0vc4zeo41hCKBQHd-_pvUMXQ@mail.gmail.com>
Hi,
Klein W wrote:
> Is there any example of a remote helper [0] with push and fetch capabilities?
Sure --- see remote-curl.c.

There's also the "connect" capability. builtin/remote-ext.c and builtin/remote-fd.c are examples using that one.

[...]
> Also, what are the advantages and disadvantages of a remote helper
> with push/fetch capabilities vs a remote helper with import/export
> capabilities?

It mainly has to do with what it is convenient for your helper to produce. If the helper would find it more convenient to write native git objects (for example because the remote server speaks a git-specific protocol, as in the case of remote-curl.c) then the "fetch" capability will be more convenient. If the helper wants to make a batch of new objects then a fast-import stream can be a convenient way to do this and the "import" capability takes care of running fast-import to take care of that.

Thanks and hope that helps, Jonathan

Previous: Klein WNext: Klein W
Message 2 of 8 in “remote helper example with push/fetch capabilities”
  1. Klein WDec 15, 2014
  2. Jonathan NiederDec 15, 2014
  3. Klein WDec 15, 2014
  4. Jonathan NiederDec 15, 2014
  5. Klein WDec 15, 2014
  6. Klein WDec 18, 2014
  7. Junio C HamanoDec 15, 2014
  8. Andrew MackenzieJan 14, 2015

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.