Mercurial > hg
annotate contrib/rewrite-log @ 9145:6b03f93b8ff3
localrepo: factor _findtags() out of tags() (issue548).
This makes in-memory caching the sole responsibility of localrepo,
eliminating some localrepo code that was duplicated in mq and
bookmarks.
author | Greg Ward <greg-hg@gerg.ca> |
---|---|
date | Thu, 16 Jul 2009 10:39:41 -0400 |
parents | 9ccc6be9ae4d |
children |
rev | line source |
---|---|
141 | 1 #!/usr/bin/env python |
2 import sys, os | |
3711
9ccc6be9ae4d
update rewrite-log for tip ; chmod it
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3505
diff
changeset
|
3 from mercurial import revlog, transaction, node, util |
141 | 4 |
5 f = sys.argv[1] | |
6 | |
3711
9ccc6be9ae4d
update rewrite-log for tip ; chmod it
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3505
diff
changeset
|
7 r1 = revlog.revlog(util.opener(os.getcwd(), audit=False), f + ".i", f + ".d") |
9ccc6be9ae4d
update rewrite-log for tip ; chmod it
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3505
diff
changeset
|
8 r2 = revlog.revlog(util.opener(os.getcwd(), audit=False), f + ".i2", f + ".d2") |
141 | 9 |
3711
9ccc6be9ae4d
update rewrite-log for tip ; chmod it
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3505
diff
changeset
|
10 tr = transaction.transaction(sys.stderr.write, open, "journal") |
141 | 11 |
12 for i in xrange(r1.count()): | |
13 n = r1.node(i) | |
14 p1, p2 = r1.parents(n) | |
15 l = r1.linkrev(n) | |
16 t = r1.revision(n) | |
17 n2 = r2.addrevision(t, tr, l, p1, p2) | |
18 tr.close() | |
19 | |
20 os.rename(f + ".i", f + ".i.old") | |
21 os.rename(f + ".d", f + ".d.old") | |
22 os.rename(f + ".i2", f + ".i") | |
23 os.rename(f + ".d2", f + ".d") |