chg: use validate to make sure the server is up to date
This patch uses the newly added validate method to make sure the server has
loaded the up-to-date config and extensions. If the server cannot validate
itself, the client will receive instructions and follow them to try to reach
another server that is more likely to validate itself. The instructions can
be a redirect (connect to another server address) and/or an unlink (stops an
out-dated server).
#require test-repo execbit
$ cd "`dirname "$TESTDIR"`"
look for python scripts without the execute bit
$ hg files 'set:**.py and not exec() and grep(r"^#!.*?python")'
[1]
look for python scripts with execute bit but not shebang
$ hg files 'set:**.py and exec() and not grep(r"^#!.*?python")'
[1]
look for shell scripts with execute bit but not shebang
$ hg files 'set:**.sh and exec() and not grep(r"^#!.*(ba)?sh")'
[1]
look for non scripts with no shebang
$ hg files 'set:exec() and not **.sh and not **.py and not grep(r"^#!")'
[1]