rewrite-log
author Vadim Gelfer <vadim.gelfer@gmail.com>
Wed, 03 May 2006 14:40:39 -0700
changeset 2192 2be3ac7abc21
parent 141 5f471a75d607
permissions -rw-r--r--
add bugzilla integration hook. example of writing hook in python. hook updates bugzilla bugs when it sees commit comments that mention bug id, such as "i fixed bug 77". only bugzilla 2.16 supported yet, but easy to extend. bugzilla versions have different schema, i have not used later than 2.16.

#!/usr/bin/env python
import sys, os
from mercurial import hg

f = sys.argv[1]

r1 = hg.revlog(open, f + ".i", f + ".d")
r2 = hg.revlog(open, f + ".i2", f + ".d2")

tr = hg.transaction(open, "journal")

for i in xrange(r1.count()):
    n = r1.node(i)
    p1, p2 = r1.parents(n)
    l = r1.linkrev(n)
    t = r1.revision(n)
    n2 = r2.addrevision(t, tr, l, p1, p2)
tr.close()

os.rename(f + ".i", f + ".i.old")
os.rename(f + ".d", f + ".d.old")
os.rename(f + ".i2", f + ".i")
os.rename(f + ".d2", f + ".d")