compat/mingw.c: Teach mingw_rename() to replace read-only files
commit632f70178784291bd2974e07fdcd2b8e8608f252
authorJohannes Sixt <j6t@kdbg.org>
Wed, 19 Nov 2008 16:25:27 +0000 (19 17:25 +0100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 24 Nov 2008 03:26:42 +0000 (23 19:26 -0800)
treef47e781f5332c4cca45dde264a4b700e0b53a2ee
parent3eb91bfc0d2e0c8c67bd4ec62523deb849919dd9
compat/mingw.c: Teach mingw_rename() to replace read-only files

On POSIX, rename() can replace files that are not writable. On Windows,
however, read-only files cannot be replaced without additional efforts:
We have to make the destination writable first.

Since the situations where the destination is read-only are rare, we do not
make the destination writable on every invocation, but only if the first
try to rename a file failed with an "access denied" error.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
compat/mingw.c