Mercurial > hg
changeset 13122:4a13ca2c21ce
merge with stable
author | Benoit Boissinot <benoit.boissinot@ens-lyon.org> |
---|---|
date | Fri, 10 Dec 2010 23:05:48 +0100 |
parents | 5dac0d04b838 (current diff) 2245fcd0e160 (diff) |
children | e76701bf4480 |
files | mercurial/subrepo.py |
diffstat | 2 files changed, 57 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/subrepo.py Wed Dec 08 13:12:12 2010 -0600 +++ b/mercurial/subrepo.py Fri Dec 10 23:05:48 2010 +0100 @@ -333,6 +333,8 @@ 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 Wed Dec 08 13:12:12 2010 -0600 +++ b/tests/test-subrepo-relative-path.t Fri Dec 10 23:05:48 2010 +0100 @@ -67,3 +67,58 @@ 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