Commits

Martin Geisler  committed a1a7da3 Merge

merge stable heads in crew and main

  • Participants
  • Parent commits cc5f0c0, ecf7d6e
  • Branches stable

Comments (0)

Files changed (3)

File mercurial/hook.py

             elif cmd.startswith('python:'):
                 if cmd.count(':') >= 2:
                     path, cmd = cmd[7:].rsplit(':', 1)
+                    path = util.expandpath(path)
+                    if repo:
+                        path = os.path.join(repo.root, path)
                     mod = extensions.loadpath(path, 'hghook.%s' % hname)
                     hookfn = getattr(mod, cmd)
                 else:

File mercurial/subrepo.py

 
             def addpathconfig(key, value):
                 if value:
-                    if not os.path.isabs(value):
-                        value = os.path.relpath(os.path.abspath(value), root)
                     fp.write('%s = %s\n' % (key, value))
                     self._repo.ui.setconfig('paths', key, value)
 

File tests/test-subrepo-relative-path.t

    revision 863c1745b441bd97a8c4a096e87793073f4fb215
 
   $ "$TESTDIR/killdaemons.py"
-
-
-Create repo with nested relative subrepos
-
-  $ hg init r1
-  $ hg init r1/sub
-  $ echo sub = sub > r1/.hgsub
-  $ hg add --cwd r1 .hgsub
-  $ hg init r1/sub/subsub
-  $ echo subsub = subsub > r1/sub/.hgsub
-  $ hg add --cwd r1/sub .hgsub
-  $ echo c1 > r1/sub/subsub/f
-  $ hg add --cwd r1/sub/subsub f
-  $ hg ci --cwd r1 -m0
-  committing subrepository sub
-  committing subrepository sub/subsub
-
-Ensure correct relative paths are used when pulling
-
-  $ hg init r2
-  $ cd r2/
-  $ hg pull -u ../r1
-  pulling from ../r1
-  requesting all changes
-  adding changesets
-  adding manifests
-  adding file changes
-  added 1 changesets with 2 changes to 2 files
-  pulling subrepo sub from ../r1/sub
-  requesting all changes
-  adding changesets
-  adding manifests
-  adding file changes
-  added 1 changesets with 2 changes to 2 files
-  pulling subrepo sub/subsub from ../r1/sub/subsub
-  requesting all changes
-  adding changesets
-  adding manifests
-  adding file changes
-  added 1 changesets with 1 changes to 1 files
-  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  $ cd ..
-
-Verify subrepo default paths were set correctly
-
-  $ hg -R r2/sub paths
-  default = $TESTTMP/r1/sub
-  $ cat r2/sub/.hg/hgrc
-  [paths]
-  default = ../../r1/sub
-  $ hg -R r2/sub/subsub paths
-  default = $TESTTMP/r1/sub/subsub
-  $ cat r2/sub/subsub/.hg/hgrc
-  [paths]
-  default = ../../../r1/sub/subsub