git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Ben Peart <ben.peart@microsoft.com>
Date
Jul 11, 2018, 21:30 UTC
Message-ID
<BL0PR2101MB101209F234BC164073DC650FF45A0@BL0PR2101MB1012.namprd21.prod.outlook.com>
In-Reply-To
<xmqq36wp3549.fsf@gitster-ct.c.googlers.com>
Show 48 quoted lines
> -----Original Message-----
> From: Junio C Hamano <jch2355@gmail.com> On Behalf Of Junio C Hamano
> Sent: Wednesday, July 11, 2018 4:11 PM
> To: Ben Peart <Ben.Peart@microsoft.com>
> Cc: Stefan Beller <sbeller@google.com>; git <git@vger.kernel.org>
> Subject: Re: [PATCH v1] handle lower case drive letters on Windows
> 
> Ben Peart <Ben.Peart@microsoft.com> writes:
> 
> >> -----Original Message-----
> >> From: Stefan Beller <sbeller@google.com>
> >> Sent: Wednesday, July 11, 2018 1:59 PM
> >> To: Ben Peart <Ben.Peart@microsoft.com>
> >> Cc: git <git@vger.kernel.org>; Junio C Hamano <gitster@pobox.com>
> >> Subject: Re: [PATCH v1] handle lower case drive letters on Windows
> >>
> >> On Wed, Jul 11, 2018 at 10:54 AM Ben Peart <Ben.Peart@microsoft.com>
> >> 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.

Previous: Junio C HamanoNext: Ben Peart
Message 5 of 15 in “handle lower case drive letters on Windows”
  1. handle lower case drive letters on WindowsBen Peart, Jul 11, 2018
  2. Stefan BellerJul 11, 2018
  3. Ben PeartJul 11, 2018
  4. Junio C HamanoJul 11, 2018
  5. Ben PeartJul 11, 2018
  6. handle lower case drive letters on WindowsBen Peart, Jul 11, 2018
  7. Johannes SchindelinJul 12, 2018
  8. Junio C HamanoJul 12, 2018
  9. handle lower case drive letters on WindowsBen Peart, Jul 12, 2018
  10. Junio C HamanoJul 12, 2018
  11. Ben PeartJul 12, 2018
  12. Junio C HamanoJul 12, 2018
  13. Ben PeartJul 12, 2018
  14. Junio C HamanoJul 12, 2018
  15. Johannes SchindelinJul 14, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.