hbisect.py: don't rely on __del__ to write the current state.
This is yet another page of the "Thou shalt not do too much inside
__del__ methods" book, in the "demandload and __del__ don't go well
together" chapter.
The bisect extension is broken in 0.9.1:
$ hg bisect init
$ hg bisect bad
Fatal Python error: Interpreter not initialized (version mismatch?)
Aborted
(yes, I tripled checked my instalation to make sure the problem is not
there)
It's been broken since revision
fe1689273f84 moved the import of the
binascii module into a demandload.
(In details: the first time that "hg bisect bad" (or good) is called,
there are still no revisions saved in .hg/bisect/*, so bisect.__init__
doesn't call hg.bin on anything. So, when we reach __del__, the
binascii module still hasn't been imported and we get that "nice"
message above.)
Kill ui.setconfig_remoteopts
This brought too much knowledge about command line particulars into
the ui code. Moved to commands.py.
mq: allow to apply patches in subdir of repo again
i broke it in
35caf437a201.
Add test mq keeping a reference to localrepo which can't remove journal on exit.
mq: do not hold a reference to repo in tags override
Instead, replace repo's class object with a subclass.
patchbomb: fix generation of message-id when sending attachments
node was set to bin(node) before message-id was created
hg.py: add islocal() and defaultdest() functions, refactor
islocal tells if a repo or url is local.
defaultdest returns default path for clone if explicit path not given.
clone can now take repo or url as source
reupdate the options after loading the repo
local .hgrc could possibly override them, command line take priority
mq: fix queue.apply to not call os.chdir()
call to os.chdir broke "hg -R dirname qpush".
instead pass -d (change directory) option to patch command.