rewrite-log
author Vadim Gelfer <vadim.gelfer@gmail.com>
Thu, 15 Jun 2006 12:55:58 -0700
changeset 2434 a2df85adface
parent 141 5f471a75d607
permissions -rw-r--r--
http server: support persistent connections. only "hg serve" affected yet. http server running cgi script will not use persistent connections. support for fastcgi will help that. clients that support keepalive can use one tcp connection for all commands during clone and pull. this makes latency of binary search during pull much lower over wan. if server does not know content-length, it will force connection to close at end. right fix is to use chunked transfer-encoding but this is easier and does not hurt performance. only command that is affected is "changegroup" which is always last command during a pull.
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
5f471a75d607 Simple script to recompress a log file
mpm@selenic.com
parents:
diff changeset
     3
from mercurial import hg
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
5f471a75d607 Simple script to recompress a log file
mpm@selenic.com
parents:
diff changeset
     7
r1 = hg.revlog(open, f + ".i", f + ".d")
5f471a75d607 Simple script to recompress a log file
mpm@selenic.com
parents:
diff changeset
     8
r2 = hg.revlog(open, f + ".i2", f + ".d2")
5f471a75d607 Simple script to recompress a log file
mpm@selenic.com
parents:
diff changeset
     9
5f471a75d607 Simple script to recompress a log file
mpm@selenic.com
parents:
diff changeset
    10
tr = hg.transaction(open, "journal")
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")