[Python-Dev] PEP 481 - Migrate Some Supporting Repositories to Git and Github

Donald Stufft donald at stufft.io
Mon Dec 1 01:50:37 CET 2014


> On Nov 30, 2014, at 7:43 PM, Ben Finney <ben+python at benfinney.id.au> wrote:
> 
> Donald Stufft <donald at stufft.io> writes:
> 
>> It’s not lost, [… a long, presumably-accurate discourse of the many
>> conditions that must be met before …] you can restore it.
> 
> This isn't the place to discuss the details of Git's internals, I think.
> I'm merely pointing out that:
> 
>> The important thing to realize is that a “branch” isn’t anything
>> special in git.
> 
> Because of that, Ethan's impression – that Git's default behaviour
> encourages losing history (by re-writing the history of commits to be
> other than what they were) is true, and “Git never loses history” simply
> isn't true.
> 
> Whether that is a *problem* is a matter of debate, but the fact that
> Git's common workflow commonly discards information that some consider
> valuable, is a simple fact.
> 
> If Ethan chooses to make that a factor in his decisions about Git, the
> facts are on his side.

Except it’s not true at all.

That data is all still there if you want it to exist and it’s not a real
differentiator between Mercurial and git because Mercurial has the ability
to do the same thing. Never mind the fact that “lose” your history makes it
sound accidental instead of on purpose. It’s like saying that ``rm foo.txt``
will “lose” the data in foo.txt. So either it was a misunderstanding in
which case I wanted to point out that those operations don’t magically lose
information or it’s a purposely FUDish statement in which case I want to
point out that the statement is inaccurate.

The only thing that is true is that git users are more likely to use the
ability to rewrite history than Mercurial users are, but you’ll typically
find that people generally don’t do this on public branches, only on private
branches. Which again doesn’t make much sense in this context since generally
currently the way people are using Mercurial with CPython you’re using
patches to transfer the changes from the contributor to the committer so you’re
“losing” that history regardless.

---
Donald Stufft
PGP: 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA



More information about the Python-Dev mailing list