--- a/tests/test-subrepo-recursion.t Wed Feb 21 21:14:05 2018 +0900
+++ b/tests/test-subrepo-recursion.t Wed Feb 28 00:29:27 2018 -0500
@@ -292,6 +292,25 @@
z2
z3
+BUG: The remote subrepo should be cloned to the local pool, and then shared
+from there.
+
+ $ hg --config extensions.share= --config share.pool=$TESTTMP/pool \
+ > clone http://localhost:$HGPORT shared
+ (sharing from new pooled repository 23376cbba0d87c15906bb3652584927c140907bf)
+ requesting all changes
+ adding changesets
+ adding manifests
+ adding file changes
+ added 3 changesets with 5 changes to 3 files
+ new changesets 23376cbba0d8:1326fa26d0c0
+ searching for changes
+ no changes found
+ updating working directory
+ sharing subrepo foo from http://localhost:$HGPORT/foo
+ abort: can only share local repositories (in subrepository "foo")
+ [255]
+
$ cat access.log
* "GET /?cmd=capabilities HTTP/1.1" 200 - (glob)
* "GET /?cmd=batch HTTP/1.1" 200 - * (glob)
@@ -302,6 +321,14 @@
* "GET /foo/bar?cmd=capabilities HTTP/1.1" 200 - (glob)
* "GET /foo/bar?cmd=batch HTTP/1.1" 200 - * (glob)
* "GET /foo/bar?cmd=getbundle HTTP/1.1" 200 - * (glob)
+ $LOCALIP - - [$LOGDATE$] "GET /?cmd=capabilities HTTP/1.1" 200 - (glob)
+ $LOCALIP - - [$LOGDATE$] "GET /?cmd=lookup HTTP/1.1" 200 - x-hgarg-1:key=0 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ (glob)
+ $LOCALIP - - [$LOGDATE$] "GET /?cmd=capabilities HTTP/1.1" 200 - (glob)
+ $LOCALIP - - [$LOGDATE$] "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ (glob)
+ $LOCALIP - - [$LOGDATE$] "GET /?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bookmarks=1&$USUAL_BUNDLE_CAPS$&cg=1&common=0000000000000000000000000000000000000000&heads=1326fa26d0c00d2146c63b56bb6a45149d7325ac&listkeys=bookmarks&phases=1 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ (glob)
+ $LOCALIP - - [$LOGDATE$] "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D1326fa26d0c00d2146c63b56bb6a45149d7325ac x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ (glob)
+ $LOCALIP - - [$LOGDATE$] "GET /?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bookmarks=1&$USUAL_BUNDLE_CAPS$&cg=0&common=1326fa26d0c00d2146c63b56bb6a45149d7325ac&heads=1326fa26d0c00d2146c63b56bb6a45149d7325ac&listkeys=bookmarks&phases=1 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ (glob)
+ $LOCALIP - - [$LOGDATE$] "GET /foo?cmd=capabilities HTTP/1.1" 200 - (glob)
$ killdaemons.py
$ rm hg1.pid error.log access.log
@@ -485,6 +512,22 @@
commit: (clean)
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.
+
+ $ 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]
+
+ $ hg --config progress.disable=True clone ../empty2 ../empty_clone
+ updating to branch default
+ abort: repository $TESTTMP/empty2/foo not found!
+ [255]
+
Disable progress extension and cleanup:
$ mv $HGRCPATH.no-progress $HGRCPATH