Mercurial > hg
view rewrite-log @ 2860:b3d1145ed06c
Teach import to understand git diff extensions.
Vanilla patch chokes on git patches that include files that are copied
or renamed, then modified. So this code detects that case and rewrites
the patch if necessary.
author | Brendan Cully <brendan@kublai.com> |
---|---|
date | Fri, 11 Aug 2006 15:50:07 -0700 |
parents | 5f471a75d607 |
children |
line wrap: on
line source
#!/usr/bin/env python import sys, os from mercurial import hg f = sys.argv[1] r1 = hg.revlog(open, f + ".i", f + ".d") r2 = hg.revlog(open, f + ".i2", f + ".d2") tr = hg.transaction(open, "journal") for i in xrange(r1.count()): n = r1.node(i) p1, p2 = r1.parents(n) l = r1.linkrev(n) t = r1.revision(n) n2 = r2.addrevision(t, tr, l, p1, p2) tr.close() os.rename(f + ".i", f + ".i.old") os.rename(f + ".d", f + ".d.old") os.rename(f + ".i2", f + ".i") os.rename(f + ".d2", f + ".d")