diff --git a/mercurial/hg.py b/mercurial/hg.py --- a/mercurial/hg.py +++ b/mercurial/hg.py @@ -404,7 +404,7 @@ def clone(ui, peeropts, source, dest=Non shareopts = shareopts or {} sharepool = shareopts.get('pool') sharenamemode = shareopts.get('mode') - if sharepool: + if sharepool and islocal(dest): sharepath = None if sharenamemode == 'identity': # Resolve the name from the initial changeset in the remote diff --git a/tests/test-clone.t b/tests/test-clone.t --- a/tests/test-clone.t +++ b/tests/test-clone.t @@ -1013,3 +1013,15 @@ Request to clone a single branch is resp adding remote bookmark bookA $ ls share-1anowc + +Test that auto sharing doesn't cause failure of "hg clone local remote" + + $ cd $TESTTMP + $ hg -R a id -r 0 + acb14030fe0a + $ hg id -R remote -r 0 + abort: there is no Mercurial repository here (.hg not found) + [255] + $ hg --config share.pool=share -q clone -e "python \"$TESTDIR/dummyssh\"" a ssh://user@dummy/remote + $ hg -R remote id -r 0 + acb14030fe0a