contrib/convert-repo
author Nicolas Dumazet <nicdumz.commits@gmail.com>
Mon, 05 Jul 2010 19:49:54 +0900
branchstable
changeset 11541 ab9fa7a85dd9
parent 6365 1d3eb332f3cb
permissions -rwxr-xr-x
filelog: cmp: don't read data if hashes are identical (issue2273) filelog.renamed() is an expensive call as it reads the filelog if p1 == nullid. It's more efficient to first compute the hash, and to bail early if the computed hash is the same as the stored nodeid. 'samehashes' variable is not strictly necessary, but helps for comprehension.

#!/usr/bin/env python
#
# Wrapper script around the convert.py hgext extension
# for foreign SCM conversion to mercurial format.
#

import sys
from mercurial import ui, fancyopts
from hgext import convert

# Options extracted from the cmdtable
func, options, help = convert.cmdtable['convert']

# An ui instance
u = ui.ui()

opts = {}
args = []
try:
    args = list(fancyopts.fancyopts(sys.argv[1:], options, opts))
    args += [None]*(3 - len(args))
    src, dest, revmapfile = args
except (fancyopts.getopt.GetoptError, ValueError), inst:
    u.warn('Usage:\n%s\n' % help)
    sys.exit(-1)

convert.convert(u, src, dest, revmapfile, **opts)