mq: fix qimport --name --existing --force on win32
os.rename() does not overwrite existing targets on Windows.
mq: support "qimport --existing --name renametothis thatexistingpatch"
Before this change, the command would abort with a not too clear "patch
renametothis does not exist" error.
This change makes:
qimport --existing --name renametothis thatexistingpatch
equivalent to:
qimport --existing thatexistingpatch; qrename thatexistingpatch renametothis
localrepo: refactor filter computation
Separate loading part from access part to be able to tell with:
repo._loadfilter(name)
bool(name in repo.filterpats)
if there is a 'name' filter available.
alias: improved diagnostic when arguments include --cwd, etc.
The logic pre-emptively checks for -R, --repo, --repository and --cwd
in order to give the user a more helpful error message. In addition,
each option is handled invididually, which avoids listing them all in
the error.
Before:
% hg --config alias.broken='push --cwd /dev/null' broken
abort: Option --cwd may not be abbreviated!
After:
% hg --config alias.broken='push --cwd /dev/null' broken
error in definition for alias 'broken': --cwd may only be given on the command line
tag: do not allow tag names to consist solely of whitespace (
issue2307)
(simplification and test by mpm)