Mercurial > hg
view contrib/convert-repo @ 11555:d8d0fc3988ca stable
color/progress: subclass ui instead of using wrapfunction (issue2096)
This resolves the issue of hg cmd --mq not being colorized. This was due
to color wrapping only the instance of ui passed to dispatch._runcommand(),
which isn't the same ui object that mq.mqcommand() receives. After dispatch
calls extensions.loadall(), it makes sure any changes to ui.__class__ in
uisetup are propagated.
progress is updated to wrap ui in the same manner because wrapfunction
doesn't play well when ui.__class__ has been replaced by another extension
(orig will point to the old class method instead of color's).
author | Brodie Rao <brodie@bitheap.org> |
---|---|
date | Thu, 01 Jul 2010 19:23:26 -0500 |
parents | 1d3eb332f3cb |
children |
line wrap: on
line source
#!/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)