diff --git a/hgext/convert/git.py b/hgext/convert/git.py --- a/hgext/convert/git.py +++ b/hgext/convert/git.py @@ -97,6 +97,8 @@ class convert_git(converter_source): seen.add(f) entry = entry.split() h = entry[3] + if entry[1] == '160000': + raise util.Abort('git submodules are not supported!') p = (entry[1] == "100755") s = (entry[1] == "120000") self.modecache[(f, h)] = (p and "x") or (s and "l") or "" diff --git a/mercurial/dispatch.py b/mercurial/dispatch.py --- a/mercurial/dispatch.py +++ b/mercurial/dispatch.py @@ -218,7 +218,7 @@ def _runcatch(req): def aliasargs(fn, givenargs): args = getattr(fn, 'args', []) - if args and givenargs: + if args: cmd = ' '.join(map(util.shellquote, args)) nums = [] @@ -227,7 +227,7 @@ def aliasargs(fn, givenargs): nums.append(num) if num < len(givenargs): return givenargs[num] - return '' + raise util.Abort(_('too few arguments for command alias')) cmd = re.sub(r'\$(\d+|\$)', replacer, cmd) givenargs = [x for i, x in enumerate(givenargs) if i not in nums] diff --git a/mercurial/phases.py b/mercurial/phases.py --- a/mercurial/phases.py +++ b/mercurial/phases.py @@ -148,8 +148,9 @@ def filterunknown(repo, phaseroots=None) missing = [node for node in nodes if node not in nodemap] if missing: for mnode in missing: - msg = 'Removing unknown node %(n)s from %(p)i-phase boundary' - repo.ui.debug(msg, {'n': short(mnode), 'p': phase}) + repo.ui.debug( + 'removing unknown node %s from %i-phase boundary\n' + % (short(mnode), phase)) nodes.symmetric_difference_update(missing) repo._dirtyphases = True diff --git a/tests/test-alias.t b/tests/test-alias.t --- a/tests/test-alias.t +++ b/tests/test-alias.t @@ -134,6 +134,12 @@ with opts and whitespace positional arguments + $ hg positional + abort: too few arguments for command alias + [255] + $ hg positional a + abort: too few arguments for command alias + [255] $ hg positional 'node|short' rev 0 e63c23eaa88a | 1970-01-01 00:00 +0000