Web lists-archives.com

RE: [PATCH v1] handle lower case drive letters on Windows




> -----Original Message-----
> From: Junio C Hamano <jch2355@xxxxxxxxx> On Behalf Of Junio C Hamano
> Sent: Wednesday, July 11, 2018 4:11 PM
> To: Ben Peart <Ben.Peart@xxxxxxxxxxxxx>
> Cc: Stefan Beller <sbeller@xxxxxxxxxx>; git <git@xxxxxxxxxxxxxxx>
> Subject: Re: [PATCH v1] handle lower case drive letters on Windows
> 
> Ben Peart <Ben.Peart@xxxxxxxxxxxxx> writes:
> 
> >> -----Original Message-----
> >> From: Stefan Beller <sbeller@xxxxxxxxxx>
> >> Sent: Wednesday, July 11, 2018 1:59 PM
> >> To: Ben Peart <Ben.Peart@xxxxxxxxxxxxx>
> >> Cc: git <git@xxxxxxxxxxxxxxx>; Junio C Hamano <gitster@xxxxxxxxx>
> >> Subject: Re: [PATCH v1] handle lower case drive letters on Windows
> >>
> >> On Wed, Jul 11, 2018 at 10:54 AM Ben Peart <Ben.Peart@xxxxxxxxxxxxx>
> >> wrote:
> >> >
> >> > Teach test-drop-caches to handle lower case drive letters on Windows.
> >>
> >> As someone not quite familiar with Windows (and using Git there),
> >> is this addressing a user visible issue, or a developer visible issue?
> >> (It looks to me as the latter as it touches test code). In which way
> >> does it improve the life of a developer?
> >>
> >
> > It is a developer visible issue.  On Windows, file names (including drive
> > letters) are case insensitive.  This patch improves the life of a Windows
> > developer by making drive letters case insensitive for the test-drop-caches
> > test application as well.  Without this patch "test-drop-caches e" will fail
> > with an error "Invalid drive letter 'e'" instead of succeeding as expected.
> 
> I think one point of the original question was if it is common for a
> developer to say "test-drop-caches e" from the command line, or the
> helper is run solely by being written in some numbered test script
> directly under t/.  In the latter case, it would be reasonable to
> expect and insist the scripts to use the more canonical form, even
> if the platform is case insensitive (assuming E: is more canonical
> than e:, that is) no?
> 
> In any case, a larger point is that it would help other people who
> read the patch and "git log" output, if the answer you gave Stefan
> in the message I am responding to, and another one that you may give
> me in a response to this message, were in the proposed log message
> in the patch.
> 
> Thanks.

I apologize.  My memory had faded as to the scenario that caused the issue
and my earlier response was incorrect.

Some months ago I ran into a situation where GetCurrentDirectory returned a
lower case drive letter which caused test-drop-caches to fail.  While most
tools _do_ upper case the drive letter before calling SetCurrentDirectory,
it isn't anything that is enforced so you _can_ get a lower case drive letter
from GetCurrentDirectory and we should handle it properly.

At the time, I simply patched my local copy to properly handle that case and
the patch has been sitting in my "todo" backlog for a while now.
I'll submit a V2 with a better commit message.