contrib/rewrite-log
author Giorgos Keramidas <keramida@ceid.upatras.gr>
Wed, 13 Jun 2007 15:02:09 +0300
changeset 4566 9b3a818adae6
parent 3711 9ccc6be9ae4d
permissions -rwxr-xr-x
test-patchbomb: sed -e may not work with extended regexps Non-GNU versions of the sed(1) utility (i.e. on Solaris or BSD) may not support extended regexps (i.e. including \| branches), or may need a special option to enable it (like -E instead of -e). Expand the sed RE in tests/test-patchbomb to fix running this test on FreeBSD and Solaris.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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: 3512
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: 3512
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: 3512
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: 3512
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")