A Scalable, User-Friendly Source Control System.
Go to file
FUJIWARA Katsunori 0d1dc1fcfa dispatch: check shell alias again after loading extensions (issue4355)
Before this patch, the shell alias causes failure when it takes its
specific (= unknown for "hg") options in the command line, because
"_parse()" can't accept them.

This is the regression introduced by 7849ac1dbc57.

It fixed the issue that ambiguity between shell aliases and commands
defined by extensions was ignored. But it also caused that ambiguous
shell alias is handled in "_parse()" even if it takes specific options
in the command line.

To avoid such failure, this patch checks shell alias again after
loading extensions.

All aliases and commands (including ones defined by extensions) are
completely defined before the 2nd (= newly added in this patch)
"_checkshellalias()" invocation, and "cmdutil.findcmd(strict=False)"
can detect ambiguity between them correctly.

For efficiency, this patch does:

  - omit the 2nd "_checkshellalias()" invocation if "[ui] strict= True"

    it causes "cmdutil.findcmd(strict=True)", of which result should
    be equal to one of the 1st invocation before adding aliases

  - avoid removing the 1st "_checkshellalias()" invocation

    it causes "cmdutil.findcmd(strict=True)" invocation preventing
    shell alias execution from loading extensions uselessly
2014-09-10 00:41:44 +09:00
contrib revset: optimize baseset.__sub__ (issue4313) 2014-07-24 12:12:12 -07:00
doc gendoc: restore use of callable() since it was readded in Python 3.2 2014-06-23 09:23:57 -04:00
hgext histedit: abort gracefully on --continue/--abort with no state 2014-09-03 20:42:51 +02:00
i18n i18n-pt_BR: synchronized with 359fb11497a4 2014-09-01 10:57:27 -03:00
mercurial dispatch: check shell alias again after loading extensions (issue4355) 2014-09-10 00:41:44 +09:00
tests dispatch: check shell alias again after loading extensions (issue4355) 2014-09-10 00:41:44 +09:00
.hgignore contrib/vagrant: use Vagrant for running tests on virtual machine 2014-07-05 16:32:28 +03:00
.hgsigs Added signature for changeset c2e80605b621 2014-09-02 03:41:01 +02:00
CONTRIBUTORS Add note to CONTRIBUTORS file 2007-11-07 21:10:30 -06:00
COPYING COPYING: refresh with current address from fsf.org 2011-06-02 11:17:02 -05:00
hg hg: add support for HGUNICODEPEDANTRY environment variable 2014-06-23 09:33:07 -04:00
hgeditor Fixed a bashism with the use of $RANDOM in hgeditor. 2010-05-19 18:06:35 +02:00
hgweb.cgi mq: add a warning about uncommitted changes for qfinish 2011-11-10 15:40:34 -06:00
Makefile setup.py, make: avoid problems with outdated, existing hgext/__index__.py* 2014-05-05 16:54:15 +02:00
README readme: mention how to run in-place 2012-03-02 21:43:55 +02:00
setup.py Merge with stable. 2014-07-06 15:39:01 -04:00

Mercurial
=========

Mercurial is a fast, easy to use, distributed revision control tool
for software developers.

Basic install:

 $ make            # see install targets
 $ make install    # do a system-wide install
 $ hg debuginstall # sanity-check setup
 $ hg              # see help

Running without installing:

 $ make local      # build for inplace usage
 $ ./hg --version  # should show the latest version

See http://mercurial.selenic.com/ for detailed installation
instructions, platform-specific notes, and Mercurial user information.