Demand-load most modules in the commands and ui modules.
# HG changeset patch
# User Bryan O'Sullivan <bos@serpentine.com>
# Node ID
059c6e42fc4221816e26a72bef8cf780891989ca
# Parent
d2994b5298fb20f87dc1d4747635b280db3c0526
Demand-load most modules in the commands and ui modules.
This improves response times for a number of simple commands, as the
Python interpreter doesn't end up loading modules that it never uses.
There's less benefit to demand-loading in other modules.
+ hg clone a b
abort: No such file or directory: a
+ echo 255
255
+ hg clone http://127.0.0.1:3121/a b
requesting all changes
adding changesets
abort: error 111: Connection refused
transaction abort!
rollback completed
+ echo 255
255
+ rm -rf b
+ mkdir a
+ chmod 000 a
+ hg clone a b
cp: cannot stat `a/.hg': Permission denied
abort: cp exited with status 1
+ echo 255
255
+ mkdir b
+ cd b
+ hg init
+ hg clone . ../a
abort: destination '../a' already exists
+ echo 1
1
+ cd ..
+ chmod 700 a
+ rm -rf a b
+ mkfifo a
+ hg clone a b
cp: cannot stat `a/.hg': Not a directory
abort: cp exited with status 1
+ echo 255
255
+ rm a
+ mkdir q
+ cd q
+ hg init
+ cd ..
+ hg clone q
abort: destination 'q' already exists
+ true