annotate contrib/rewrite-log @ 9584:17da88da1abd

bisect: use util.system and fix good/bad when using -c The existing scheme using util.find_exe and subprocess.call meant we couldn't use simple shell commands in tests. Fix that. Also, it mistakenly used status from the system() call rather than good from the bisect call in reporting results.
author Matt Mackall <mpm@selenic.com>
date Mon, 12 Oct 2009 18:25:46 -0500
parents 9ccc6be9ae4d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
141
5f471a75d607 Simple script to recompress a log file
mpm@selenic.com
parents:
diff changeset
1 #!/usr/bin/env python
5f471a75d607 Simple script to recompress a log file
mpm@selenic.com
parents:
diff changeset
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
5f471a75d607 Simple script to recompress a log file
mpm@selenic.com
parents:
diff changeset
4
5f471a75d607 Simple script to recompress a log file
mpm@selenic.com
parents:
diff changeset
5 f = sys.argv[1]
5f471a75d607 Simple script to recompress a log file
mpm@selenic.com
parents:
diff changeset
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
5f471a75d607 Simple script to recompress a log file
mpm@selenic.com
parents:
diff changeset
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
5f471a75d607 Simple script to recompress a log file
mpm@selenic.com
parents:
diff changeset
11
5f471a75d607 Simple script to recompress a log file
mpm@selenic.com
parents:
diff changeset
12 for i in xrange(r1.count()):
5f471a75d607 Simple script to recompress a log file
mpm@selenic.com
parents:
diff changeset
13 n = r1.node(i)
5f471a75d607 Simple script to recompress a log file
mpm@selenic.com
parents:
diff changeset
14 p1, p2 = r1.parents(n)
5f471a75d607 Simple script to recompress a log file
mpm@selenic.com
parents:
diff changeset
15 l = r1.linkrev(n)
5f471a75d607 Simple script to recompress a log file
mpm@selenic.com
parents:
diff changeset
16 t = r1.revision(n)
5f471a75d607 Simple script to recompress a log file
mpm@selenic.com
parents:
diff changeset
17 n2 = r2.addrevision(t, tr, l, p1, p2)
5f471a75d607 Simple script to recompress a log file
mpm@selenic.com
parents:
diff changeset
18 tr.close()
5f471a75d607 Simple script to recompress a log file
mpm@selenic.com
parents:
diff changeset
19
5f471a75d607 Simple script to recompress a log file
mpm@selenic.com
parents:
diff changeset
20 os.rename(f + ".i", f + ".i.old")
5f471a75d607 Simple script to recompress a log file
mpm@selenic.com
parents:
diff changeset
21 os.rename(f + ".d", f + ".d.old")
5f471a75d607 Simple script to recompress a log file
mpm@selenic.com
parents:
diff changeset
22 os.rename(f + ".i2", f + ".i")
5f471a75d607 Simple script to recompress a log file
mpm@selenic.com
parents:
diff changeset
23 os.rename(f + ".d2", f + ".d")