diff --git a/mercurial/hg.py b/mercurial/hg.py --- a/mercurial/hg.py +++ b/mercurial/hg.py @@ -270,6 +270,7 @@ }) postshare(srcrepo, r, defaultpath=defaultpath) + r = repository(ui, dest) _postshareupdate(r, update, checkout=checkout) return r diff --git a/tests/test-remotefilelog-share.t b/tests/test-remotefilelog-share.t new file mode 100644 --- /dev/null +++ b/tests/test-remotefilelog-share.t @@ -0,0 +1,24 @@ + $ . "$TESTDIR/remotefilelog-library.sh" + + $ cat >> $HGRCPATH < [extensions] + > remotefilelog= + > share= + > EOF + + $ hg init master + $ cd master + $ cat >> .hg/hgrc < [remotefilelog] + > server=True + > EOF + $ echo x > x + $ hg commit -qAm x + + $ cd .. + + + $ hgcloneshallow ssh://user@dummy/master source --noupdate -q + $ hg share source dest + updating working directory + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved diff --git a/tests/test-subrepo-recursion.t b/tests/test-subrepo-recursion.t --- a/tests/test-subrepo-recursion.t +++ b/tests/test-subrepo-recursion.t @@ -560,15 +560,16 @@ update: 4 new changesets (update) Sharing a local repo without the locally referenced subrepo (i.e. it was never -updated from null), fails the same as a clone operation. +updated from null) works, but clone fails. $ hg --config progress.disable=True clone -U ../empty ../empty2 $ hg --config extensions.share= --config progress.disable=True \ > share ../empty2 ../empty_share updating working directory - abort: repository $TESTTMP/empty2/foo not found! - [255] + sharing subrepo foo from $TESTTMP/empty/foo + sharing subrepo foo/bar from $TESTTMP/empty/foo/bar + 3 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg --config progress.disable=True clone ../empty2 ../empty_clone updating to branch default