Mercurial > hg > gitweb
view convert-repo @ 274:5da941efbb52
[PATCH] hgk should parse dates in the diff output
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
[PATCH] hgk should parse dates in the diff output
hgk doesn't deal well with the difflib style diffs, it expects the filename
to be the last thing on the line. This patch fixes the regexp to stop
reading the filename at the first tab.
Signed-off-by: Chris Mason <mason@suse.com>
manifest hash: 9c5bcf427455dcf306ab6f91b1986723caa83f36
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCpl/HywK+sNU5EO8RAgAjAKCOuZsRtJDbdurTQry+7krtLTtRQQCfXLuN
LZEFkcOGS0jiAC6vci/RLJ0=
=jkr1
-----END PGP SIGNATURE-----
author | mpm@selenic.com |
---|---|
date | Tue, 07 Jun 2005 19:02:31 -0800 |
parents | 2c80f6f8fc08 |
children |
line wrap: on
line source
#!/usr/bin/env python import sys, os, sha, base64, re from mercurial import hg ui = hg.ui() repo = hg.repository(ui=ui) known = {} def encodepath(path): s = sha.sha(path).digest() s = base64.encodestring(s)[:-3] s = re.sub("\+", "%", s) s = re.sub("/", "_", s) return s for i in range(repo.changelog.count()): n = repo.changelog.node(i) changes = repo.changelog.read(n) for f in changes[3]: known[f] = 1 try: os.mkdir(".hg/data-new") except: pass files = known.keys() files.sort() for f in files: pb = ".hg/data/" + encodepath(f) pn = ".hg/data-new/" + f print f try: file(pn+".i", "w").write(file(pb+"i").read()) except: os.makedirs(os.path.dirname(pn)) # we actually copy the files to get nice disk layout file(pn+".i", "w").write(file(pb+"i").read()) file(pn+".d", "w").write(file(pb).read()) os.rename(".hg/data", ".hg/data-old") os.rename(".hg/data-new", ".hg/data")