unlinkpath: make empty directory removal optional (issue5901) (issue5826)
There are known cases where performing operations such as rebase from a
directory that is newly created can fail or at least lead to being in a
directory handle that no longer exists.
This is even reproducible by just doing something as simple as:
cd foo; hg rm *
The behavior is different if you use `hg addremove`, the directory is not
removed until we attempt to go back to the node after committing it:
cd foo; rm *; hg addremove; hg ci -m'bye foo'; hg co .^; hg co tip
Differential Revision: https://phab.mercurial-scm.org/D3859
# invalid filenames
test-add.t
test-init.t
test-clone.t
test-contrib.t
test-hgweb-raw.t
test-walk.t
# no sockets or fifos
test-hup.t
# no hardlinks
test-hardlinks.t
test-relink.t
# exec bit problems
test-convert-bzr-114.t
test-convert-bzr-directories.t
test-convert-bzr-merges.t
test-convert-bzr-treeroot.t
test-convert-darcs.t
test-merge-tools.t
# debugstate exec bit false positives
test-dirstate.t
test-filebranch.t
test-merge-remove.t