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
Not a huge deal for experimental options, but be aware of https://www.mercurial-scm.org/wiki/UIGuideline#naming_config_options (which recommends remove-empty-dirs).