mirror of
https://github.com/git/git.git
synced 2026-01-18 06:34:21 +00: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
9d0d9ec064
commit
407fb72c98
@@ -2516,6 +2516,13 @@ repeat:
|
||||
return 0;
|
||||
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 */
|
||||
if (attrs != INVALID_FILE_ATTRIBUTES)
|
||||
SetFileAttributesW(wpnew, attrs);
|
||||
|
||||
Reference in New Issue
Block a user