subrepo: use repo.pathto instead of util.pathto to simplify invocation
authorFUJIWARA Katsunori <foozy@lares.dti.ne.jp>
Fri, 10 Jul 2015 00:59:51 +0900
changeset 25769 2538b87660be
parent 25768 7a9ef8608a1d
child 25770 39de2e9cc6f4
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.
mercurial/subrepo.py
tests/test-subrepo-missing.t
--- 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:
--- 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