diff -r f924dd043974 -r 33b7283a3828 tests/test-clone-uncompressed.t --- a/tests/test-clone-uncompressed.t Fri Jun 09 21:33:15 2017 +0900 +++ b/tests/test-clone-uncompressed.t Fri Jun 09 10:41:13 2017 -0700 @@ -49,6 +49,77 @@ bundle2-input-bundle: 1 parts total checking for updated bookmarks +Cannot stream clone when there are secret changesets + + $ hg -R server phase --force --secret -r tip + $ hg clone --uncompressed -U http://localhost:$HGPORT secret-denied + warning: stream clone requested but server has them disabled + requesting all changes + adding changesets + adding manifests + adding file changes + added 1 changesets with 1 changes to 1 files + + $ killdaemons.py + +Streaming of secrets can be overridden by server config + + $ cd server + $ hg --config server.uncompressedallowsecret=true serve -p $HGPORT -d --pid-file=hg.pid + $ cat hg.pid > $DAEMON_PIDS + $ cd .. + + $ hg clone --uncompressed -U http://localhost:$HGPORT secret-allowed + streaming all changes + 1027 files to transfer, 96.3 KB of data + transferred 96.3 KB in * seconds (*/sec) (glob) + searching for changes + no changes found + + $ killdaemons.py + +Verify interaction between preferuncompressed and secret presence + + $ cd server + $ hg --config server.preferuncompressed=true serve -p $HGPORT -d --pid-file=hg.pid + $ cat hg.pid > $DAEMON_PIDS + $ cd .. + + $ hg clone -U http://localhost:$HGPORT preferuncompressed-secret + requesting all changes + adding changesets + adding manifests + adding file changes + added 1 changesets with 1 changes to 1 files + + $ killdaemons.py + +Clone not allowed when full bundles disabled and can't serve secrets + + $ cd server + $ hg --config server.disablefullbundle=true serve -p $HGPORT -d --pid-file=hg.pid + $ cat hg.pid > $DAEMON_PIDS + $ cd .. + + $ hg clone --uncompressed http://localhost:$HGPORT secret-full-disabled + warning: stream clone requested but server has them disabled + requesting all changes + remote: abort: server has pull-based clones disabled + abort: pull failed on remote + (remove --pull if specified or upgrade Mercurial) + [255] + +Local stream clone with secrets involved +(This is just a test over behavior: if you have access to the repo's files, +there is no security so it isn't important to prevent a clone here.) + + $ hg clone -U --uncompressed server local-secret + warning: stream clone requested but server has them disabled + requesting all changes + adding changesets + adding manifests + adding file changes + added 1 changesets with 1 changes to 1 files Stream clone while repo is changing: