git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jed Brown <jed@59a2.org>
To: Felipe Contreras <felipe.contreras@gmail.com>
Cc: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>,
	Jeff King <peff@peff.net>, Max Horn <max@quendi.de>
Subject: Re: [PATCH v2 11/13] remote-hg: force remote push
Date: Thu, 04 Apr 2013 17:27:03 -0500	[thread overview]
Message-ID: <87eheqq6dk.fsf@59A2.org> (raw)
In-Reply-To: <CAMP44s16NcTBLWuUR9bb6KaspJYYcfsWVyF9NVO4gxP-gXr4WA@mail.gmail.com>

Felipe Contreras <felipe.contreras@gmail.com> writes:

> On Thu, Apr 4, 2013 at 2:48 PM, Jed Brown <jed@59a2.org> wrote:
>>
>> Then perhaps we have different goals [1].  I don't know any Git User that
>> would prefer to have an Hg upstream accessed through remote-hg.
>
> Who cares? If you don't know somebody, does that mean such person
> doesn't exist?

Maybe I wasn't explicit enough:

    I don't know any Git User that would prefer to have an Hg upstream
    accessed through remote-hg *than to have a Git upstream accessed
    through native Git.*

>> We have
>> to assume that every Git (remote-hg) User is dealing with Hg Team
>
> No, we don't.

Really?  If there is no Hg Team, why bother with an Hg upstream?

> If you are always going to do Mercurial workflows, then what's the
> point of using Git?

Using Git workflow locally while being able to interact with the Hg Team
via whatever conventions they have established.  Sane branching, merge
strategies, rerere, and a host of other Git features are plenty useful,
even when contained within your personal repo.

> Wow, catastrophic. BTW. Any commit pushed will show in 'hg log' either
> way. And who will run 'hg heads' if, according to you, the project has
> stated that new heads should not be pushed? If no new heads are
> pushed, 'hg heads' will never show anything interesting.
>
> Is that the *HUGE* problem? Too many heads will show in the arcane 'hg
> heads'?

Hg displays warnings about multiple heads, suggests that you merge them
any time they are anonymous, and doesn't have remote namespaces so that
names can collide.  Remember that the most common reason people give for
using Hg in the first place is that it's "simpler" (yeah, I don't agree
either, but that's their story).  So don the hat of a Git (remote-hg)
User: You're interacting with people that don't understand version
control very well and only know the basic Hg command set.  Do you really
think it's okay to silently put them in a state where Hg will print
confusing messages about multiple heads, disrupt their workflow ('hg
log'), and suggest that they do things that are likely to be disruptive
(like merge those heads)?

I've spent the last five years as an active contributor to an Hg-based
project and throughout that time, newer contributors would constantly
get flustered over things like this and I would get the emails asking
what happened and how to fix it.  Over that five year period, several
other Hg projects that I was involved in switched to Git.  My statements
about what is likely to be acceptable to an Hg upstream is based on my
experience with these projects and with a couple remaining Hg holdouts
(scientific applications that I support through libraries).  In none of
those projects would a force push have been acceptable.

>>> And who says we are committing upstream?
>>
>> The discussion is moot if you don't want to push your commits upstream.
>
> There are so many workflows and use cases you are completely ignoring.

Examples?  I'm just summarizing the workflows that I encounter and that
other contributors to gitifyhg encounter.  You have said yourself that
you don't actually use remote-hg [1], so why are you so confident that
you know what workflows are desirable to remote-hg users?

> Anyway, I'm not going to discuss with you any more, a configuration
> option would work perfectly, and curiously you didn't comment on that.

Sorry, defaults matter and project philosophy matters.  The fact that we
are arguing about such basic things has convinced me that I can't
recommend remote-hg because I have no confidence that the behavior will
be remotely acceptable to a Git user working with an Hg Team.



My primary project switched to Git three weeks ago and there is already
less confusion, despite having adopted a master/next/topic branch
workflow that only two of us were familiar with prior to the switch.
For this reason, I no longer have a vested interest in remote helpers so
I don't intend to debate this issue further.

But please try to make tools for actual users rather than hypothetical
users, or at least don't act so incredulous when people are less than
thrilled about using or contributing to your project.


[1] http://article.gmane.org/gmane.comp.version-control.git/219988

  reply	other threads:[~2013-04-04 22:27 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-04 15:30 [PATCH v2 00/13] remote-hg: general updates Felipe Contreras
2013-04-04 15:30 ` [PATCH v2 01/13] remote-hg: trivial cleanups Felipe Contreras
2013-04-04 15:30 ` [PATCH v2 02/13] remote-hg: add missing config variable in doc Felipe Contreras
2013-04-04 15:30 ` [PATCH v2 03/13] remote-hg: properly report errors on bookmark pushes Felipe Contreras
2013-04-04 15:30 ` [PATCH v2 04/13] remote-hg: fix for files with spaces Felipe Contreras
2013-04-04 15:30 ` [PATCH v2 05/13] remote-hg: make sure fake bookmarks are updated Felipe Contreras
2013-04-04 15:30 ` [PATCH v2 06/13] remote-hg: trivial test cleanups Felipe Contreras
2013-04-04 15:30 ` [PATCH v2 07/13] remote-hg: redirect buggy mercurial output Felipe Contreras
2013-04-04 16:40   ` Junio C Hamano
2013-04-04 15:30 ` [PATCH v2 08/13] remote-hg: split bookmark handling Felipe Contreras
2013-04-04 15:30 ` [PATCH v2 09/13] remote-hg: refactor export Felipe Contreras
2013-04-04 15:30 ` [PATCH v2 10/13] remote-hg: update remote bookmarks Felipe Contreras
2013-04-04 15:30 ` [PATCH v2 11/13] remote-hg: force remote push Felipe Contreras
2013-04-04 16:44   ` Junio C Hamano
2013-04-04 18:56     ` Felipe Contreras
2013-04-04 19:06       ` Junio C Hamano
2013-04-04 18:17   ` Jed Brown
2013-04-04 19:13     ` Felipe Contreras
2013-04-04 20:14       ` Jed Brown
2013-04-04 20:35         ` Felipe Contreras
2013-04-04 20:48           ` Jed Brown
2013-04-04 21:34             ` Felipe Contreras
2013-04-04 22:27               ` Jed Brown [this message]
2013-04-04 23:06                 ` Felipe Contreras
2013-04-05  6:31                 ` Joachim Schmitz
2013-04-05 12:16                   ` Jed Brown
2013-04-04 15:30 ` [PATCH v2 12/13] remote-hg: update tags globally Felipe Contreras
2013-04-04 15:30 ` [PATCH v2 13/13] remote-hg: push to the appropriate branch Felipe Contreras
2013-04-04 16:50   ` Junio C Hamano
2013-04-05  9:16     ` 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=87eheqq6dk.fsf@59A2.org \
    --to=jed@59a2.org \
    --cc=felipe.contreras@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=max@quendi.de \
    --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).