[python-committers] History lost in svn to hg conversion

"Martin v. Löwis" martin at v.loewis.de
Tue Apr 26 00:18:04 CEST 2011


> It looks like this history survived the cvs to svn migration, but was
> lost in migration to hg.

It's not there anymore, but it isn't lost, either - you can still get it
from svn if you want to (and should still be able to do so twenty years
from now if you care - just as you can still get the original CVS
repository if you want to).

In any case, this part of the history has not been converted, and there
is no way to fix it now - less so in Mercurial than there might have
been in CVS. Changing the history would require to come up with
completely new revision "numbers", which would be unrelated to the
revision numbers in all the clones out there. So anybody pushing changes
would bring back all these "incorrect" revisions. That's
why people say that changing history is futile in DVCSs one the
genie is out of the bottle.

So just accept that apparently, you wrote datetime.py all on your own :-)

If you wonder what precisely has gone wrong: you shouldn't have created
a branch in /sandbox, but in python/branches. /sandbox shouldn't have
been used for anything whose history is of any interest. The hg
conversion didn't consider anything outside /python, so it couldn't
track the copying of the file.

It might be that the svn-to-hg conversion algorithm could do better
with files that are copied from within the same repository, but from
outside the converted subtree. This is tricky to implement, though,
since you can't give reasonable file path names to such files. OTOH,
our approach to svn (i.e. multiple projects in one repository) is
so uncommon that the Mercurial people are likely to ignore problems
arising out of it.

Regards,
Martin


More information about the python-committers mailing list