git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Felipe Contreras <felipe.contreras@gmail.com>
To: John Keeping <john@keeping.me.uk>,
	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, 05 May 2014 15:34:38 -0500	[thread overview]
Message-ID: <5367f5de8e411_1193d2f30cba@nysa.notmuch> (raw)
In-Reply-To: <20140505195525.GC23935@serenity.lan>

John Keeping wrote:
> 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).

So basically you are arguing against any change.

> > > 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,

That's not for you to decide.

> 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?

All the Mercurial API compatibility issues I have seen are trivial.

> > > 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.

I can easily add that.

> > > 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?

The former I'd bet.

> 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/.

Apples and oranges. There aren't scores of tools out there trying to do
what git-subtree does.

> > 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.

Are there better alternatives coming in the future?

> > 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.

Sure, we might not need to wait for v3.0, but that's not the point. The
point is that we should be consistent, and that means going for 1) in
v2.0.

> > 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.

Do we intend to remove them in the future? That hasn't been decided.

-- 
Felipe Contreras

  reply	other threads:[~2014-05-06 16:23 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
2014-05-05 20:34       ` Felipe Contreras [this message]
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=5367f5de8e411_1193d2f30cba@nysa.notmuch \
    --to=felipe.contreras@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=john@keeping.me.uk \
    /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).