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 init
adding x
adding y
0 files updated, 0 files merged, 2 files removed, 0 files unresolved
adding x
adding y
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
requesting all changes
adding changesets
adding manifests
adding file changes
added 4 changesets with 3 changes to 3 files
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
requesting all changes
adding changesets
adding manifests
adding file changes
added 4 changesets with 3 changes to 3 files
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
comparing with b
searching for changes
changeset: 4:fdb3c546e859
tag: tip
parent: 1:1f703b3fcbc6
parent: 2:de997049e034
user: test
date: Mon Jan 12 13:46:40 1970 +0000
summary: m2
comparing with c
searching for changes
changeset: 3:f40f830c0024
parent: 2:de997049e034
parent: 1:1f703b3fcbc6
user: test
date: Mon Jan 12 13:46:40 1970 +0000
summary: m1
comparing with c
searching for changes
changeset: 3:f40f830c0024
tag: tip
parent: 2:de997049e034
parent: 1:1f703b3fcbc6
user: test
date: Mon Jan 12 13:46:40 1970 +0000
summary: m1
comparing with b
searching for changes
changeset: 3:fdb3c546e859
tag: tip
parent: 1:1f703b3fcbc6
parent: 2:de997049e034
user: test
date: Mon Jan 12 13:46:40 1970 +0000
summary: m2
pulling from a
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 0 changes to 0 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
pulling from a
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 0 changes to 0 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)