# HG changeset patch # User simon@laptop-tosh # Date 1351334339 -7200 # Node ID fd903f89e42b8e90b6f27e3cb87ca336c200a038 # Parent 3cb032d504472967c4cee3d2ed29a6e8e0f3afac share: always set default path to work with subrepos (issue3518) set the default path in any case because creating subrepo looks this up. Subrepos are cloned, not shared. diff -r 3cb032d50447 -r fd903f89e42b mercurial/hg.py --- a/mercurial/hg.py Sat Nov 03 10:40:36 2012 +0100 +++ b/mercurial/hg.py Sat Oct 27 12:38:59 2012 +0200 @@ -171,11 +171,14 @@ r = repository(ui, root) default = srcrepo.ui.config('paths', 'default') - if default: - fp = r.opener("hgrc", "w", text=True) - fp.write("[paths]\n") - fp.write("default = %s\n" % default) - fp.close() + if not default: + # set default to source for being able to clone subrepos + default = os.path.abspath(util.urllocalpath(origsource)) + fp = r.opener("hgrc", "w", text=True) + fp.write("[paths]\n") + fp.write("default = %s\n" % default) + fp.close() + r.ui.setconfig('paths', 'default', default) if update: r.ui.status(_("updating working directory\n")) diff -r 3cb032d50447 -r fd903f89e42b tests/test-subrepo.t --- a/tests/test-subrepo.t Sat Nov 03 10:40:36 2012 +0100 +++ b/tests/test-subrepo.t Sat Oct 27 12:38:59 2012 +0200 @@ -718,6 +718,14 @@ committing subrepository subrepo-2 $ hg st subrepo-2/file +Check that share works with subrepo + $ hg --config extensions.share= share . ../shared + updating working directory + cloning subrepo subrepo-2 from $TESTTMP/subrepo-status/subrepo-2 + 2 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ test -f ../shared/subrepo-1/.hg/sharedpath + [1] + Check hg update --clean $ cd $TESTTMP/t $ rm -r t/t.orig