# HG changeset patch # User FUJIWARA Katsunori # Date 1436457591 -32400 # Node ID 2538b87660be4c84b84b0bd89adb565bf81a7c84 # Parent 7a9ef8608a1d40240a42f21380791aadb074c75e subrepo: use repo.pathto instead of util.pathto to simplify invocation This centralization into 'repo.pathto()' should reduce the cost of vfs migration around 'getcwd()' and so on in the future. diff -r 7a9ef8608a1d -r 2538b87660be mercurial/subrepo.py --- a/mercurial/subrepo.py Fri Jul 10 00:59:51 2015 +0900 +++ b/mercurial/subrepo.py Fri Jul 10 00:59:51 2015 +0900 @@ -72,13 +72,12 @@ raise # handle missing subrepo spec files as removed ui.warn(_("warning: subrepo spec file \'%s\' not found\n") % - util.pathto(repo.root, repo.getcwd(), f)) + repo.pathto(f)) return p.parse(f, data, sections, remap, read) else: raise util.Abort(_("subrepo spec file \'%s\' not found") % - util.pathto(repo.root, repo.getcwd(), f)) - + repo.pathto(f)) if '.hgsub' in ctx: read('.hgsub') @@ -97,8 +96,7 @@ except ValueError: raise util.Abort(_("invalid subrepository revision " "specifier in \'%s\' line %d") - % (util.pathto(repo.root, repo.getcwd(), - '.hgsubstate'), (i + 1))) + % (repo.pathto('.hgsubstate'), (i + 1))) rev[path] = revision except IOError as err: if err.errno != errno.ENOENT: diff -r 7a9ef8608a1d -r 2538b87660be tests/test-subrepo-missing.t --- a/tests/test-subrepo-missing.t Fri Jul 10 00:59:51 2015 +0900 +++ b/tests/test-subrepo-missing.t Fri Jul 10 00:59:51 2015 +0900 @@ -23,8 +23,8 @@ $ cp .hgsubstate .hgsubstate.old >>> file('.hgsubstate', 'wb').write('\ninvalid') - $ hg st --subrepos - abort: invalid subrepository revision specifier in '.hgsubstate' line 2 + $ hg st --subrepos --cwd $TESTTMP -R $TESTTMP/repo + abort: invalid subrepository revision specifier in 'repo/.hgsubstate' line 2 (glob) [255] $ mv .hgsubstate.old .hgsubstate @@ -44,9 +44,9 @@ delete .hgsub and update $ rm .hgsub - $ hg up 0 - warning: subrepo spec file '.hgsub' not found - warning: subrepo spec file '.hgsub' not found + $ hg up 0 --cwd $TESTTMP -R $TESTTMP/repo + warning: subrepo spec file 'repo/.hgsub' not found (glob) + warning: subrepo spec file 'repo/.hgsub' not found (glob) 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg st warning: subrepo spec file '.hgsub' not found