copy/rename to a removed destination file
When the destination of a copy or rename operation has been
marked for removal, we need to restore it before we overwrite
it with the new content. This also handles the case of
idempotent renames, i.e.
hg rename "a" "b"
hg rename "b" "a"
adding a
adding b
a
NONEXISTENT: No such file or directory
a
b
a: No such file or directory
NONEXISTENT: No such file or directory
b
a
NONEXISTENT: No such file in rev 9e1684505872
a
b