From: "Johannes Schindelin" <[email protected]>
From: 마누엘 <[email protected]>

Is this Nalla's preferred email, or just a carry over from cautions of the Github interface?


When the rename() function tries to move a directory it fails if the
target directory exists. It should check if it can delete the (possibly
empty) target directory and then try again to move the directory.

This partially fixes t9100-git-svn-basic.sh.

Signed-off-by: 마누엘 <[email protected]>
Signed-off-by: Johannes Schindelin <[email protected]>
---
compat/mingw.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/compat/mingw.c b/compat/mingw.c
index db92f5d..e4839b9 100644
--- a/compat/mingw.c
+++ b/compat/mingw.c
@@ -1603,7 +1603,12 @@ repeat:
 if (gle == ERROR_ACCESS_DENIED &&
     (attrs = GetFileAttributesW(wpnew)) != INVALID_FILE_ATTRIBUTES) {
 if (attrs & FILE_ATTRIBUTE_DIRECTORY) {
- errno = EISDIR;
+ DWORD attrsold = GetFileAttributesW(wpold);
+ if (attrsold == INVALID_FILE_ATTRIBUTES ||
+     !(attrsold & FILE_ATTRIBUTE_DIRECTORY))
+ errno = EISDIR;
+ else if (!_wrmdir(wpnew))
+ goto repeat;
 return -1;
 }
 if ((attrs & FILE_ATTRIBUTE_READONLY) &&
--
2.7.0.windows.1.7.g55a05c8
--
Philip

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to