contrib/rewrite-log
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
Fri, 17 Aug 2007 17:33:27 -0300
changeset 5189 60acf1432ee0
parent 3711 9ccc6be9ae4d
permissions -rwxr-xr-x
Move cmdtable and reposetup handling out of extensions.py A new function (extensions.extensions) allows the code that is interested in those attributes to handle them directly. This allows some cleanups of extensions.py. Notably, we can remove the extensions.commandtable hack. It also makes it easier to add standard extension attributes, like a "hgwebsetup" function or a "helptable" dict that augments the data in help.py, etc.
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")