Peter Collingbourne [off-list ref] writes:
This patch adds a mode parameter to remove_path which determines
whether unlink or rmdir is used. All calls to remove_path have
been modified to supply the mode parameter.
This patch also adds a test case for a bug fixed by the addition
of the mode parameter to remove_path.
When the mode of the thing on the filesystem doesn't match with what your
callers expect (e.g. the caller "merge-recursive" thought there should be
a gitlink but the filesystem actually had a plain file there), what should
happen? What happens with your patch?