Mercurial > hg
annotate contrib/rewrite-log @ 7113:f7fc5f5ecd62
mq: Allow qrefresh --silent to take parameters
'hg qrefresh --short file.txt' now adds changes made to file.txt to current
patch.
This builds on a patch for implementing --amend by Kirill Smelkov as discussed
in issue933.
FIXME: Why do mq refresh have two matchers if we only need one?
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Fri, 17 Oct 2008 21:26:39 +0200 |
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") |