Add an option not to use link(src, dest) && unlink(src) when that is unreliable
commitbe66a6c43dcba42c56f66a8706721a76098f8e25
authorJohannes Schindelin <Johannes.Schindelin@gmx.de>
Sat, 25 Apr 2009 09:57:14 +0000 (25 11:57 +0200)
committerJunio C Hamano <gitster@pobox.com>
Sat, 25 Apr 2009 16:49:21 +0000 (25 09:49 -0700)
tree99afe341425abb4ca307ced1fc5efbf05075d993
parent785a9857496ae1b71b168f6d79306ca233ec0cd6
Add an option not to use link(src, dest) && unlink(src) when that is unreliable

It seems that accessing NTFS partitions with ufsd (at least on my EeePC)
has an unnerving bug: if you link() a file and unlink() it right away,
the target of the link() will have the correct size, but consist of NULs.

It seems as if the calls are simply not serialized correctly, as single-stepping
through the function move_temp_to_file() works flawlessly.

As ufsd is "Commertial software" (sic!), I cannot fix it, and have to work
around it in Git.

At the same time, it seems that this fixes msysGit issues 222 and 229 to
assume that Windows cannot handle link() && unlink().

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Acked-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/config.txt
Makefile
cache.h
config.c
environment.c
sha1_file.c