rebase: reinstate old-style rev spec support for the source and base (issue3181)
As of b12362ab13e7 (first released as part of Mercurial 2.0), the rebase command
accepted ONLY revsets for the source and base arguments and no longer accepted
old-style revision specifications. As a result, some revision names were no
longer recognised, e.g.
hg rebase --base br-anch
abort: unknown revision 'br'!
These arguments are now interpreted first as old-style revision specifications,
then as revsets when no matching revision is found. This restores backwards
compatibility with releases prior to 2.0.
# Pass all working directory files through check-code.py
import sys, os, imp
rootdir = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), '..'))
if not os.path.isdir(os.path.join(rootdir, '.hg')):
sys.stderr.write('skipped: cannot check code on non-repository sources\n')
sys.exit(80)
checkpath = os.path.join(rootdir, 'contrib/check-code.py')
checkcode = imp.load_source('checkcode', checkpath)
from mercurial import hg, ui
u = ui.ui()
repo = hg.repository(u, rootdir)
checked = 0
wctx = repo[None]
for f in wctx:
# ignore removed and unknown files
if f not in wctx:
continue
checked += 1
checkcode.checkfile(os.path.join(rootdir, f))
if not checked:
sys.stderr.write('no file checked!\n')