[Python-Dev] PEP: Collecting information about git

Augie Fackler raf at durin42.com
Wed Sep 16 21:22:51 CEST 2015


Nikolaus Rath <Nikolaus <at> rath.org> writes:

> 
> On Sep 16 2015, Chris Angelico <rosuav <at> gmail.com> wrote:
> > With git, there are infinite workflows possible - you aren't forced to
> > have a concept of "central server" and "clients" the way you would
> > with SVN. Mercurial's called a DVCS too, so presumably it's possible
> > to operate on a pure-peering model with no central server at all; how
> > does that tie in with the inability to alter some commits?
> 
> There is no inability to do so in hg either, you just need some --force
> flags ("hg phase -f -d <rev>" should be enough in almost all cases).

Actually, part of the value of phases is that it makes a truly decentralized
workflow easier to manage without errors. In Mercurial pre-phases and git,
you have to take some amount of care to avoid rebasing changes that you
pulled from an authoritative server - if you don't, you can end up with
weird history divergence that can be tricky to resolve. The addition of
phases helps the tool prevent accidental history editing.

As a concrete example, I pull from mpm's repo for Mercurial, but I push to a
repo of my own when I've reviewed patches or otherwise have work for him to
push to the authoritative one. More than once phases have prevented me from
rebasing his work onto my own, because I had a brain fart.

Does that help explain how it's a benefit in the decentralized case?

> 
> Best,
> -Nikolaus
> 






More information about the Python-Dev mailing list