--- a/mercurial/hook.py Mon Nov 22 14:36:57 2010 +0100
+++ b/mercurial/hook.py Mon Dec 13 11:52:21 2010 +0100
@@ -135,6 +135,9 @@
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:
--- a/mercurial/subrepo.py Mon Nov 22 14:36:57 2010 +0100
+++ b/mercurial/subrepo.py Mon Dec 13 11:52:21 2010 +0100
@@ -333,8 +333,6 @@
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)
--- a/tests/test-subrepo-relative-path.t Mon Nov 22 14:36:57 2010 +0100
+++ b/tests/test-subrepo-relative-path.t Mon Dec 13 11:52:21 2010 +0100
@@ -67,58 +67,3 @@
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