Following discussion:
http://www.selenic.com/pipermail/mercurial/2009-December/029274.html
It seems that the current solution in 1.4.3 doesn't work.
Test Case:
cd /tmp
hg init /tmp/nested_absolute
echo test > /tmp/nested_absolute/foo
hg -R /tmp/nested_absolute add
hg -R /tmp/nested_absolute ci -mtest
hg init nested_relative
echo test2 > nested_relative/foo2
hg -R nested_relative add
hg -R nested_relative ci -mtest2
hg init main
echo nested_relative = ../nested_relative > main/.hgsub
echo nested_absolute = /tmp/nested_absolute >> main/.hgsub
hg -R main add
hg -R main ci -m "add subrepos"
hg clone main main2
cat main2/nested_absolute/.hg/hgrc main2/nested_relative/.hg/hgrc
I got as results:
[paths]
default =
[paths]
default =
With this patch on version 1.4.3:
--- subrepo.py.old 2010-02-06 00:07:55.000000000 +0100
+++ subrepo.py 2010-02-06 14:28:36.000000000 +0100
@@ -161,7 +161,8 @@
util.makedirs(root)
self._repo = hg.repository(r.ui, root, create=True)
f = file(os.path.join(root, '.hg', 'hgrc'), 'w')
- f.write('[paths]\ndefault = %s\n' % state[0])
+ f.write('[paths]\ndefault = %s\n' % os.path.join(
+ _abssource(ctx._repo),path))
f.close()
self._repo._subparent = r
self._repo._subsource = state[0]
I got as results:
[paths]
default = /tmp/main/nested_absolute
[paths]
default = /tmp/main/nested_relative
It seems logical for me that hgrc from main2 make reference to working
directories of main1 instead of referencing the absolute URL in main/.hgsub.
|