Skip to content
Snippets Groups Projects
FUJIWARA Katsunori's avatar
Katsunori FUJIWARA authored
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
1581da01
History
Name Last commit Last update
contrib
doc
hgext
i18n
mercurial
tests
.hgignore
.hgsigs
.hgtags
CONTRIBUTORS
COPYING
Makefile
README
hg
hgeditor
hgweb.cgi
setup.py
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.