A Scalable, User-Friendly Source Control System.
Go to file
FUJIWARA Katsunori 85d651396d subrepo: normalize path in the specific way for problematic encodings
Before this patch, "reporelpath()" uses "rstrip(os.sep)" to trim
"os.sep" at the end of "parent.root" path.

But it doesn't work correctly with some problematic encodings on
Windows, because some multi-byte characters in such encodings contain
'\\' (0x5c) as the tail byte of them.

In such cases, "reporelpath()" leaves unexpected '\\' at the beginning
of the path returned to callers.

"lcalrepository.root" seems not to have tail "os.sep", because it is
always normalized by "os.path.realpath()" in "vfs.__init__()", but in
fact it has tail "os.sep", if it is a root (of the drive): path
normalization trims tail "os.sep" off "/foo/bar/", but doesn't trim
one off "/".

So, just avoiding "rstrip(os.sep)" in "reporelpath()" causes
regression around issue3033 fixed by e3dfde137fa5.

This patch introduces "pathutil.normasprefix" to normalize specified
path in the specific way for problematic encodings without regression
around issue3033.
2014-05-08 19:03:00 +09:00
contrib revset: inline spanset containment check (fix perf regression) 2014-04-28 15:15:36 -07:00
doc doc: show short description of each commands in generated documents 2014-03-11 14:36:40 +09:00
hgext bugzilla: support Bugzilla 4.4.3+ API login token authentication (issue4257) 2014-05-23 17:29:04 +01:00
i18n i18n-ja: synchronized with 96dc46d2a8cd 2014-04-30 23:20:46 +09:00
mercurial subrepo: normalize path in the specific way for problematic encodings 2014-05-08 19:03:00 +09:00
tests subrepo: normalize path in the specific way for problematic encodings 2014-05-08 19:03:00 +09:00
.hgignore Makefile: do update on a temporary copy of a po file 2013-11-05 09:43:36 +01:00
.hgsigs Added signature for changeset 4034358387c1 2014-05-01 17:48:02 -05: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 rename util.set_binary to setbinary 2011-05-06 15:25:35 +02: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 setup.py, make: avoid problems with outdated, existing hgext/__index__.py* 2014-05-05 16:54:15 +02: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.