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

Re: Announcing a new (prototype) git-remote-hg tool

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Dec 5, 2014, 22:13 UTC
Message-ID
<20141205221319.GK16345@google.com>
In-Reply-To
<20141205205335.GA28935@glandium.org>
Mike Hommey wrote:
Show 9 quoted lines
> I'm currently evaluating what the final tool would look like. I'm *very*
> tempted to implement it in C, based on core git code, because there are
> many things that this helper does that would be so much easier to do
> with direct access to git's guts. And that wouldn't require more
> dependencies than git currently has: it would "just" need curl and ssh,
> and git already uses both.
>
> If I were to go in that direction, would you consider integrating it
> in git core?
Yes --- I would like this a lot.

The general trend has been to carry fewer contrib-style tools in-tree, since the problem of discovering tools built on top of git is not as hard as it used to be. What you describe above seems to be a bit of an exception:

 - libgit.a in its current state evolves too quickly for it to be
   convenient for out-of-tree tools to use.  cgit <http://git.zx2c4.com/cgit/>
   uses git pinned to a particular version as a submodule to get around
   this, which is fussy and has bad implications for remembering to
   get security updates.
 - an in-tree user of libgit.a would be useful as a reference example
   to use to try to make libgit.a into be a better library internally
   (and eventually expose e.g. by merging with libgit2 as something
   outside tools can link to, I hope)
 - if it makes sense to help people using the current remote helper
   in contrib to migrate to this, it could be convenient for users

In other words, although in the long term I would be happiest if libgit becomes good enough to let this project live in a separate tree and link to it, it's tempting to build this in-tree because we're not there yet.

Some other alternatives:
 - using libgit2 <https://libgit2.github.com/>
 - improving git plumbing (e.g., with new fast-import commands) or
   exposing a small library with a stable API for the tool's use

I haven't thought it through carefully but at the moment I like the in-tree approach best.

Thanks, Jonathan

Previous: Mike HommeyNext: Jeff King
Message 2 of 9 in “Announcing a new (prototype) git-remote-hg tool”
  1. Mike HommeyDec 5, 2014
  2. Jonathan NiederDec 5, 2014
  3. Jeff KingDec 5, 2014
  4. Jonathan NiederDec 5, 2014
  5. Mike HommeyDec 5, 2014
  6. Jeff KingDec 6, 2014
  7. Mike HommeyDec 5, 2014
  8. Philip OakleyDec 5, 2014
  9. Announcing git-cinnabar 0.1.0 (Was: Announcing a new (prototype) git-remote-hg tool)Mike Hommey, Feb 11, 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.