Tests discovery against servers without getbundle support: $ cat >> $HGRCPATH < [ui] > logtemplate="{rev} {node|short}: {desc} {branches}\n" > EOF $ cp $HGRCPATH $HGRCPATH-withcap $ CAP="getbundle known changegroupsubset bundle2" $ . "$TESTDIR/notcapable" $ cp $HGRCPATH $HGRCPATH-nocap $ cp $HGRCPATH-withcap $HGRCPATH Prep for test server without branchmap support $ CAP="branchmap" $ . "$TESTDIR/notcapable" $ cp $HGRCPATH $HGRCPATH-nocap-branchmap $ cp $HGRCPATH-withcap $HGRCPATH Setup HTTP server control: $ remote=http://localhost:$HGPORT/ $ export remote $ tstart() { > echo '[web]' > $1/.hg/hgrc > echo 'push_ssl = false' >> $1/.hg/hgrc > echo 'allow_push = *' >> $1/.hg/hgrc > cp $HGRCPATH-nocap $HGRCPATH > hg serve -R $1 -p $HGPORT -d --pid-file=hg.pid -E errors.log > cat hg.pid >> $DAEMON_PIDS > } $ tstop() { > killdaemons.py > cp $HGRCPATH-withcap $HGRCPATH > } Both are empty: $ hg init empty1 $ hg init empty2 $ tstart empty2 $ hg incoming -R empty1 $remote comparing with http://localhost:$HGPORT/ no changes found [1] $ hg outgoing -R empty1 $remote comparing with http://localhost:$HGPORT/ no changes found [1] $ hg pull -R empty1 $remote pulling from http://localhost:$HGPORT/ no changes found $ hg push -R empty1 $remote pushing to http://localhost:$HGPORT/ no changes found [1] $ tstop Base repo: $ hg init main $ cd main $ hg debugbuilddag -mo '+2:tbase @name1 +3:thead1 A $ hg ci -Am A adding A $ cd .. $ hg clone rlocal rremote updating to branch default 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ cd rlocal $ echo B > B $ hg ci -Am B adding B $ cd .. $ tstart rremote $ cd rlocal $ hg incoming $remote comparing with http://localhost:$HGPORT/ searching for changes no changes found [1] $ hg outgoing $remote comparing with http://localhost:$HGPORT/ searching for changes 1 27547f69f254: B $ hg pull $remote pulling from http://localhost:$HGPORT/ searching for changes no changes found $ hg push $remote pushing to http://localhost:$HGPORT/ searching for changes remote: adding changesets remote: adding manifests remote: adding file changes remote: added 1 changesets with 1 changes to 1 files $ hg outgoing $remote comparing with http://localhost:$HGPORT/ searching for changes no changes found [1] $ cd .. $ tstop