icasefs: ignore removed files at building "dirstate._foldmap" up on icasefs
Before this patch, all files in dirstate are used to build "_foldmap"
up on case insensitive filesystem regardless of their statuses.
For example, when dirstate contains both removed file 'a' and added
file 'A', "_foldmap" may be updated finally by removed file 'a'. This
causes unexpected status information for added file 'A' at "hg status"
invocation.
This patch ignores removed files at building "_foldmap" up on case
insensitive filessytem.
This patch doesn't add any test, because this issue is difficult to
reproduce intentionally: it depends on iteration order of "dirstate._map".
i18n-pt_BR: synchronized with
3f5e75c22585
i18n-ja: synchronized with
f01a351db791
dispatch: add support for --option=value to _earlygetopt
This fixes a very confusing error message:
$ hg --config=pager.enabled=off st
abort: option --config may not be abbreviated!
push: make locking of source optional (
issue3684)
Having the permission to lock the source repo on push is now optional. When the
repo cannot be locked, phase are not changed locally. A status message is issue
when some actual phase movement are skipped:
cannot lock source repo, skipping local public phase update
A debug message with the exact reason of the locking failure is issued in all
case.
push: factorise phase movement in a simple closure
Having all phases movement centralised will help to handle special case when the
local repo can not be locked as describe in issue 3684.