git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mike Hommey <mh@glandium.org>
To: Jeff King <peff@peff.net>
Cc: Jonathan Nieder <jrnieder@gmail.com>,
	git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>
Subject: Re: Announcing a new (prototype) git-remote-hg tool
Date: Sat, 6 Dec 2014 08:31:06 +0900	[thread overview]
Message-ID: <20141205233106.GA832@glandium.org> (raw)
In-Reply-To: <20141205225930.GA29256@peff.net>

On Fri, Dec 05, 2014 at 05:59:30PM -0500, Jeff King wrote:
> On Fri, Dec 05, 2014 at 02:13:19PM -0800, Jonathan Nieder wrote:
> 
> > Mike Hommey wrote:
> > 
> > > 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.
> 
> I'm concerned that this tool will have drawbacks that Felipe's remote-hg
> does not. And I can well imagine that it may, as that tool builds on
> Mercurial's API, which will probably handle some corner cases
> differently.

FWIW, my tool only uses the mercurial code for the wire protocol. This
can (and if I go the C route, will) be implemented without using
mercurial code, it's really not a hard problem.

> This isn't to disparage Mike's attempt; it will probably
> have some upsides, too. But given that the approaches are so different,
> it does not seem obvious to me that one will always be better than the
> other.
> 
> One of the nice things about spinning remote-hg out of the core repo is
> that it means we do not have to endorse a particular implementation, and
> they can compete with each other on their merits.  I would very much
> hate to see Felipe's remote-hg project wither and die just because
> another implementation becomes the de facto standard by being included
> in git.git. It's a proven tool, and this new thing is not yet.

Note that I'm only talking about an hypothetical long term goal. If
there's not even a slim chance that this may end up in git core, or in
the git.git repo, I'm not sure it's worth writing the tool in C at all,
considering the burden for users. IOW, I'm only trying to assess if I
should follow my temptation or not. But I can probably reassess after I
actually get my prototype to do more than it does now. But maybe there
are ways to make it work for users outside of git.git even if it's in C.
I don't know.

> It's a shame that both squat on the name "remote-hg", because it makes
> it difficult to tell the two apart. But of course that is the only way
> to make "git clone hg::..." work. Maybe we need a layer of indirection?
> :)

Yeah, that's an unfortunate consequence of how remote helpers work.
There are already two different git-remote-hgs (there's felipe's, and
there's another one using hg-git under the hood) that I know of. I'm
adding a third one. For what it's worth, none of the existing one is
satisfying on repos the size of Mozilla's, and apparently noone at
Mozilla uses them because of that. Add to that the disk space
inefficiency of actually keeping a copy of the mercurial repo locally.
The existing tools can likely be improved to scale better, but that
wouldn't change the disk space problem.

Mike

  parent reply	other threads:[~2014-12-05 23:31 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-05 20:53 Announcing a new (prototype) git-remote-hg tool Mike Hommey
2014-12-05 22:13 ` Jonathan Nieder
2014-12-05 22:59   ` Jeff King
2014-12-05 23:13     ` Jonathan Nieder
2014-12-05 23:46       ` Mike Hommey
2014-12-06  5:06       ` Jeff King
2014-12-05 23:31     ` Mike Hommey [this message]
2014-12-05 22:44 ` Philip Oakley
2015-02-11  9:32 ` Announcing git-cinnabar 0.1.0 (Was: Announcing a new (prototype) git-remote-hg tool) Mike Hommey

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20141205233106.GA832@glandium.org \
    --to=mh@glandium.org \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jrnieder@gmail.com \
    --cc=peff@peff.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).