narrow: check for servers' narrow support before doing anything (BC)
Recently we introduced narrow capabilities for the server. So we can check
whether a server has narrow clone support or not before doing anything. This is
BC because new clients won't be able to extend from old narrow-enabled servers.
I *think* narrow is not used much (maybe just inside Google), also it's
experimental so I think we can change this. We will need to this someday anyway.
The "doesn't" in error is changed to "does not" because I think that's we do in
core. I also changed one more instance of the error message to use 'does not'
for consistency.
Differential Revision: https://phab.mercurial-scm.org/D4789
#require serve repobundlerepo
$ hg init server
$ cd server
$ cat >> .hg/hgrc << EOF
> [extensions]
> strip=
> EOF
$ echo 1 > foo
$ hg commit -A -m 'first'
adding foo
$ echo 2 > bar
$ hg commit -A -m 'second'
adding bar
Produce a bundle to use
$ hg strip -r 1
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
saved backup bundle to $TESTTMP/server/.hg/strip-backup/ed602e697e0f-cc9fff6a-backup.hg
Serve from a bundle file
$ hg serve -R .hg/strip-backup/ed602e697e0f-cc9fff6a-backup.hg -d -p $HGPORT --pid-file=hg.pid
$ cat hg.pid >> $DAEMON_PIDS
Ensure we're serving from the bundle
$ (get-with-headers.py localhost:$HGPORT 'file/tip/?style=raw')
200 Script output follows
-rw-r--r-- 2 bar
-rw-r--r-- 2 foo