Subject: Re: [PATCH 6/5] NUL hack to create_file()

From: Johannes Sixt <[email-masked]>
Date: Thu, 29 May 2008 09:23:42 +0200

Marius Storm-Olsen schrieb:
> Johannes Sixt said the following on 29.05.2008 08:33:
>> Junio C Hamano schrieb:
>>> This is not meant for application to the mainline.  It allows your
>>> git to
>>> refuse to create a blob whose name is "nul".
>>
>> It's not just about "nul"; these won't work either: "aux", "prn", "con",
>> "com\d+", "lpt\d+", neither do "$one_of_these.$some_extension". And
>> all of
>> that regardless of the case!
>>
>> See http://msdn.microsoft.com/en-us/library/aa365247(VS.85).aspx
>>
>> Definitely, we don't ever want to have such special-casing somewhere
>> in git.
> 
> They _can_ be used by using the UNC notation:
>     \\?\<drive letter>:\<path>\nul
> Do you think we should special-case that, or simply fail?

Rhetoric question: What's so special about those files?

"foo/nul" is a file you don't have permissions to write to. Period. We
should fail the same way as if you had 'chmod a-w foo/nul foo', or as if
there's a bad sector on the disk. Junio's patch series is the way to go
(without 6/5, of course).

-- Hannes