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

Re: [PATCH] t1410: Fix for case insensitive filesystems

From
Junio C Hamano <gitster@pobox.com>
Date
Nov 10, 2014, 06:34 UTC
Message-ID
<CAPc5daV9g+kio2esi9avj+5ivQyaTkR4mo12gS-Cxt1KCOKMnA@mail.gmail.com>
In-Reply-To
<20141110062356.GA8047@peff.net>
On Sun, Nov 9, 2014 at 10:23 PM, Jeff King <peff@peff.net> wrote:
Show 13 quoted lines
> On Sun, Nov 09, 2014 at 08:48:06PM -0500, Brian Gernhardt wrote:
>
>> A pair of recently added tests used branches a and a/b, but earlier
>> tests created files A and A/B.  On case insensitive filesystems (such
>> as HFS+), that causes git to complain about the name being ambiguous
>> between branch and file.  Resolve by renaming the branches to aa and
>> aa/bb.
>
> Already being discussed here:
>
>   http://thread.gmane.org/gmane.comp.version-control.git/259250/focus=259253
>
> :)
Related tangent for a moderately near future.

One thing that we may want to play with around this topic is to try building an alternative "ref backend" that is backed by a filesystem, lays out things pretty much the same way as the current "refs" (i.e. one file per ref, directory hierarchy corresponds to slashes in the refname, one file per reflog, etc.), but can be stored on a case insensitive filesystem, as a demonstration of Ronnie's "ref-transaction" restructuring series.

Perhaps such a backend may store branch 'a' as 'refs/heads/a' while storing branch 'A' as 'refs/heads/%41' or something, and causes the right thing to happen when "for-each-ref" enumerates the refs by unquoting quoted names and when "checkout" asks to check out such a branch.

Previous: Jeff King
Message 3 of 3 in “t1410: Fix for case insensitive filesystems”
  1. t1410: Fix for case insensitive filesystemsBrian Gernhardt, Nov 10, 2014
  2. Jeff KingNov 10, 2014
  3. Junio C HamanoNov 10, 2014

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.