git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: John Keeping <john@keeping.me.uk>
To: Felipe Contreras <felipe.contreras@gmail.com>
Cc: Junio C Hamano <gitster@pobox.com>, git@vger.kernel.org
Subject: Re: What's cooking in git.git (Apr 2014, #09; Tue, 29)
Date: Mon, 5 May 2014 20:55:25 +0100	[thread overview]
Message-ID: <20140505195525.GC23935@serenity.lan> (raw)
In-Reply-To: <5367e1ac39571_5977e7531081@nysa.notmuch>

On Mon, May 05, 2014 at 02:08:28PM -0500, Felipe Contreras wrote:
> John Keeping wrote:
> > I am not convinced that tools for interoperating with other VCSs need to
> > be part of core Git; as Junio has pointed out previously, while contrib/
> > was necessary for promoting associated tools when Git was young and had
> > not established mindshare, Git is now by far the most popular DVCS and
> > is rapidly catching up with centralized systems.  Associated tools can
> > therefore live on their own and do not need to be promoted as part of
> > Git itself (as git-imerge is doing successfully).
> 
> Then let's remove git-p4.

If git-p4 were not already in the core, I would be making precisely the
same argument regarding it (and the others you identify below).

> > In the case of git-remote-hg specifically, the remote helper has to use
> > an interface that the Mercurial developers consider unstable [1];
> 
> There is no other sensible way of doing them.
> 
> > the version currently on 'pu' fails the test suite for me because I
> > have Mercurial 3.0:
> > 
> > 	AttributeError: 'mqrepo' object has no attribute 'getbundle'
> 
> And because this patch has not been picked up[1].

And it is now probably too late for that to make Git 2.0, which means it
may be another 12 weeks before it makes it into a Git release.  Since
this is quite a minor change it may make it into a stable release, but
what would happen if the required changes were much more involved?

> > I do not want to end up in a situation where an update to Git is blocked
> > by a distribution because git-remote-hg is not updated to support newer
> > versions of Mercurial sufficiently quickly; this previously happened in
> > Gentoo due to git-svn and meant that was stuck on 1.7.8 until 1.7.13 was
> > released [2].
> 
> Travis-CI ensures that won't happen[2].

I don't see that building against Mercurial's default branch, so it will
not help with future releases.

> > Since the remote helper interface is stable and the remote helpers do
> > not use any of the Git internals, I consider the risks of including them
> > in core Git to outweigh the benefits of wider distribution.  In fact,
> > the remote helpers may benefit from having their own release cadences
> > so that they can respond to changes in related projects more quickly
> > than the normal Git release cycle.
> 
> Maybe, but git-remote-hg has already benefitted a lot from the wider
> exposure of being in 'contrib/', I'm sure it would benefit even more if
> it's distributed by default.

Is that because it was included in contrib/ or just as a result of being
publicised on this list and elsewhere?  I don't think git-imerge is
suffering from being its own project and git-subtree appears to have
received very little attention despite being in contrib/.

> Moreover, there's a ton of subpar tools out there[3], and I believe
> giving the burden of choosing one to the user is detrimental to the Git
> project. If we as a project say: this is the one we recommend, and has
> the Git stamp, that helps the users tremendously.

But by choosing one now, we are stuck promoting that one even if a
better alternative comes along in the future.  We have seen that with
git-cvsimport and it's not dissimilar to the situation with git-pull.

> Your point is valid though, but it's valid not just for
> git-remote-hg/bzr.
> 
> So I think these are the two options:
> 
>   1) Include git-remote-hg/bzr to the core and distribute them by
>      default (as is the current intention)
> 
>   2) Remove git-remote-hg/bzr entirely from the Git tree. And do the
>      same for other tools: git-p4, git-svn, git-cvs*. Given the huge
>      amount of people using Subversion, we might want to defer that one
>      for later, but eventually do it.

Don't forget git-archimport...

My personal vote would be for 2), splitting the bridges to other VCSs
into their own repositories but there would need to be some guarantee
that they would continue to be maintained.  I'm not sure it needs to
wait for a major Git release since most of the impact is on package
maintainers and not end users.

> I'd say for v2.0 we should go for 1), and 2) should be considered for
> v3.0, perhaps.

I don't think there is any advantage to adding new tools now if we only
intend to remove them in the future.

> [1] http://article.gmane.org/gmane.comp.version-control.git/248065
> [2] https://travis-ci.org/felipec/git
> [3] https://github.com/felipec/git/wiki/Comparison-of-git-remote-hg-alternatives

  reply	other threads:[~2014-05-06 16:22 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-29 22:38 What's cooking in git.git (Apr 2014, #09; Tue, 29) Junio C Hamano
2014-05-05 18:45 ` John Keeping
2014-05-05 19:08   ` Felipe Contreras
2014-05-05 19:55     ` John Keeping [this message]
2014-05-05 20:34       ` Felipe Contreras
2014-05-05 21:43         ` Felipe Contreras
2014-05-06 17:59       ` Junio C Hamano
2014-05-06 18:54         ` Felipe Contreras
2014-05-05 23:50   ` Junio C Hamano
2014-05-06  0:20     ` Felipe Contreras
2014-05-06  0:39       ` Felipe Contreras
2014-05-06  8:07     ` John Keeping
2014-05-06  8:32       ` Felipe Contreras
2014-05-06 19:34       ` Junio C Hamano
2014-05-06 19:39         ` Felipe Contreras
2014-05-07 11:44     ` Greg Troxel
2014-05-07 19:54       ` Felipe Contreras
2014-05-07 23:38         ` Greg Troxel
2014-05-08  0:18           ` Felipe Contreras
2014-05-08  7:29     ` Chris Packham
2014-05-08  7:56       ` Felipe Contreras
2014-05-09  0:40         ` David Lang
2014-05-09  0:58           ` Felipe Contreras
2014-05-09  0:58           ` Submodule improvements (Re: What's cooking in git.git (Apr 2014, #09; Tue, 29)) Jonathan Nieder
2014-05-08 18:31       ` What's cooking in git.git (Apr 2014, #09; Tue, 29) Junio C Hamano
2014-05-07  0:01   ` Junio C Hamano
2014-05-07  0:17     ` Felipe Contreras
2014-05-07  8:05     ` John Keeping
2014-05-07  9:26       ` Felipe Contreras
2014-05-07 18:56       ` Junio C Hamano
2014-05-07 19:28         ` John Keeping
2014-05-07 19:50           ` Felipe Contreras
2014-05-07 20:26         ` Felipe Contreras
2014-05-07 20:44           ` John Keeping
2014-05-07 21:38             ` Felipe Contreras

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=20140505195525.GC23935@serenity.lan \
    --to=john@keeping.me.uk \
    --cc=felipe.contreras@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    /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).