Message11618

Author SaintGermain
Recipients
Date 2010-02-06.13:55:45
Content
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.
Files
File name Uploaded
subrepo.patch SaintGermain, 2010-02-06.13:55:45
History
Date User Action Args
2010-02-06 13:55:45SaintGermainsetmessageid: <1265464545.62.0.924954880832.issue2026@mercurial.selenic.com>
2010-02-06 13:55:45SaintGermainlinkissue2026 messages
2010-02-06 13:55:45SaintGermaincreate