A Scalable, User-Friendly Source Control System.
Go to file
FUJIWARA Katsunori 5a148330f8 windows: use normalized path as path to subrepo
path to subrepo is used to identify or check location of subrepo.

it should be normalized (in "/" delimiter form), because it is also
used with narrowmatcher which uses only normalized path even on
Windows environment.

this patch applies "util.pconvert()" on path to subrepo (called
"subpath") to normalize it.

for this patch, referers of below were checked.

  - subrepo.state()
  - subrepo.itersubrepos()
  - subrepo.subrepo()
  - context.sub()
  - context.substate()

typical usecase is:

    for subpath in ctx.substate:
        sub = ctx.sub(subpath)
        ... ctx.substate[subpath] ....

in this case, normalization has no side effect, because keys given
from substate are used as key itself.

other cases shown below also seem to require subpath to be normalized.

    - path components are joined by "/", in "commands.forget()":

        for subpath in ctx.substate:
            subforget[subpath + '/' + fsub] = (fsub, sub)

    - normalized "file" is used to check below condition, in
      "commands.revert()", "localrepository.commit()", and
      "localrepository._checknested()"

        file in ctx.substate

    - substate.keys() is passed to dirstate.walk()/status() which use
      only normalized pathes
2011-12-24 19:05:35 +09:00
contrib test-svn-subrepo: fix reference output for svn 1.7 2011-12-02 16:50:48 +01:00
doc Describe all files related to the standard commands. 2011-12-06 15:50:28 +01:00
hgext largefiles: copy files in binary mode (issue3164) 2011-12-20 11:43:38 -06:00
i18n i18n-pt_BR: synchronized with de6501d18b23 2011-12-16 10:43:18 -02:00
mercurial windows: use normalized path as path to subrepo 2011-12-24 19:05:35 +09:00
tests merge: check filename case collision between changesets for branch merging 2011-12-16 21:21:27 +09:00
.hgignore hgignore: ignore MANIFEST.in (generated since 3f7ee5b12708) 2011-06-10 20:38:02 +02:00
.hgsigs Added signature for changeset b4eeeb8c0f79 2011-12-01 15:55:37 -06: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 hgweb: add hint about finding library path with debuginstall 2011-11-10 15:08:51 -06:00
Makefile Makefile: adjust example, test-merge1 is now test-merge1.t 2011-10-28 12:59:50 +02:00
README README: add small introduction 2010-10-27 12:05:37 +02:00
setup.py setup: set whole env for running hg even if .hg doesn't exist (issue3073) 2011-10-31 00:42:32 +09: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

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