purge: abort with missing files avoiding problems with name-mangling fs
In a name mangling filesystem (e.g. a case insensitive one)
dirstate.walk() can yield filenames different from the ones
stored in the dirstate. This already confuses the status and
add commands, but with purge this may cause data loss.
To prevent this purge refuses to work if there are missing
files and has a 'force' option if the user knows it is safe.
Even with the force option purge checks if any of the missing
files is still available in the working dir: if so there
may be some problem with the underlying filesystem, so it
unconditionally aborts.
adding a
making snapshot of 0 files from rev 000000000000
making snapshot of 1 files from working dir
Only in a: a
making snapshot of 0 files from rev 000000000000
making snapshot of 1 files from working dir
diffing a.000000000000 a
hg falabala [OPT]... [FILE]...
use 'echo' to diff repository (or selected files)
Show differences between revisions for the specified
files, using the 'echo' program.
When two revision arguments are given, then changes are
shown between those revisions. If only one revision is
specified then that revision is compared to the working
directory, and, when no revisions are specified, the
working directory files are compared to its parent.
options:
-o --option pass option to comparison program
-r --rev revision
-I --include include names matching the given patterns
-X --exclude exclude names matching the given patterns
making snapshot of 1 files from rev e27a2475d60a
making snapshot of 1 files from rev 5e49ec8d3f05
diffing a.e27a2475d60a a.5e49ec8d3f05
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
making snapshot of 1 files from rev 5e49ec8d3f05
making snapshot of 1 files from working dir
diffing a.5e49ec8d3f05 a
diff-like tools yield a non-zero exit code