windows: avoid deleting non-empty reparse points
If a hg repository including working directory is a reparse point (directory
symlinked or a junction point), then using os.removedirs will remove the
reparse point erroneously. This is fixed by only removing directories if they
are empty.
adding a
adding b
copy .hg/patches to .hg/patches.1
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
M b
created new head
a
b
merging with queue at: .hg/patches.1
applying rm_a
now at: rm_a
b
patch queue now empty
% init t2
adding a
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
% create the reference queue
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
% merge
merging with queue at refqueue
(working directory not at tip)
applying patcha
now at: patcha