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

Re: [PATCH v2 11/13] remote-hg: force remote push

From
Jed Brown <jed@59a2.org>
Date
Apr 4, 2013, 22:27 UTC
Message-ID
<87eheqq6dk.fsf@59A2.org>
In-Reply-To
<CAMP44s16NcTBLWuUR9bb6KaspJYYcfsWVyF9NVO4gxP-gXr4WA@mail.gmail.com>
Felipe Contreras <felipe.contreras@gmail.com> writes:
Show 7 quoted lines
> 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.

Show 7 quoted lines
> 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.

Show 5 quoted lines
>>> 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
Previous: Felipe ContrerasNext: Felipe Contreras
Message 23 of 30 in “remote-hg: general updates”
  1. 00/13 remote-hg: general updatesFelipe Contreras, Apr 4, 2013
  2. 01/13 remote-hg: trivial cleanupsFelipe Contreras, Apr 4, 2013
  3. 02/13 remote-hg: add missing config variable in docFelipe Contreras, Apr 4, 2013
  4. 03/13 remote-hg: properly report errors on bookmark pushesFelipe Contreras, Apr 4, 2013
  5. 04/13 remote-hg: fix for files with spacesFelipe Contreras, Apr 4, 2013
  6. 05/13 remote-hg: make sure fake bookmarks are updatedFelipe Contreras, Apr 4, 2013
  7. 06/13 remote-hg: trivial test cleanupsFelipe Contreras, Apr 4, 2013
  8. 07/13 remote-hg: redirect buggy mercurial outputFelipe Contreras, Apr 4, 2013
  9. Junio C HamanoApr 4, 2013
  10. 08/13 remote-hg: split bookmark handlingFelipe Contreras, Apr 4, 2013
  11. 09/13 remote-hg: refactor exportFelipe Contreras, Apr 4, 2013
  12. 10/13 remote-hg: update remote bookmarksFelipe Contreras, Apr 4, 2013
  13. 11/13 remote-hg: force remote pushFelipe Contreras, Apr 4, 2013
  14. Junio C HamanoApr 4, 2013
  15. Felipe ContrerasApr 4, 2013
  16. Junio C HamanoApr 4, 2013
  17. Jed BrownApr 4, 2013
  18. Felipe ContrerasApr 4, 2013
  19. Jed BrownApr 4, 2013
  20. Felipe ContrerasApr 4, 2013
  21. Jed BrownApr 4, 2013
  22. Felipe ContrerasApr 4, 2013
  23. Jed BrownApr 4, 2013
  24. Felipe ContrerasApr 4, 2013
  25. Joachim SchmitzApr 5, 2013
  26. Jed BrownApr 5, 2013
  27. 12/13 remote-hg: update tags globallyFelipe Contreras, Apr 4, 2013
  28. 13/13 remote-hg: push to the appropriate branchFelipe Contreras, Apr 4, 2013
  29. Junio C HamanoApr 4, 2013
  30. Felipe ContrerasApr 5, 2013

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.