mirror of
https://github.com/git-for-windows/git.git
synced 2026-05-31 12:28:51 -05:00
mingw: when running in a Windows container, try to rename() harder
It is a known issue that a rename() can fail with an "Access denied" error at times, when copying followed by deleting the original file works. Let's just fall back to that behavior. Signed-off-by: JiSeop Moon <zcube@zcube.kr> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This commit is contained in:
committed by
Johannes Schindelin
parent
3b7f7fa99e
commit
7cd902e040
@@ -2815,6 +2815,13 @@ repeat:
|
|||||||
gle = GetLastError();
|
gle = GetLastError();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (gle == ERROR_ACCESS_DENIED && is_inside_windows_container()) {
|
||||||
|
/* Fall back to copy to destination & remove source */
|
||||||
|
if (CopyFileW(wpold, wpnew, FALSE) && !mingw_unlink(pold))
|
||||||
|
return 0;
|
||||||
|
gle = GetLastError();
|
||||||
|
}
|
||||||
|
|
||||||
/* revert file attributes on failure */
|
/* revert file attributes on failure */
|
||||||
if (attrs != INVALID_FILE_ATTRIBUTES)
|
if (attrs != INVALID_FILE_ATTRIBUTES)
|
||||||
SetFileAttributesW(wpnew, attrs);
|
SetFileAttributesW(wpnew, attrs);
|
||||||
|
|||||||
Reference in New Issue
Block a user