git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "Torsten Bögershausen" <tboegi@web.de>
To: Junio C Hamano <gitster@pobox.com>, Duy Nguyen <pclouds@gmail.com>
Cc: Philip Oakley <philipoakley@iee.org>,
	Git List <git@vger.kernel.org>,
	git-for-windows <git-for-windows@googlegroups.com>,
	Johannes Schindelin <Johannes.Schindelin@gmx.de>
Subject: Re: [git-for-windows] Case insensitive branch names
Date: Mon, 21 Dec 2015 19:22:03 +0100	[thread overview]
Message-ID: <5678434B.5040506@web.de> (raw)
In-Reply-To: <xmqqa8p3hfej.fsf@gitster.mtv.corp.google.com>



On 2015-12-21 18.37, Junio C Hamano wrote:
> Duy Nguyen <pclouds@gmail.com> writes:
>
>> On Mon, Dec 21, 2015 at 6:01 PM, Philip Oakley <philipoakley@iee.org> wrote:
>>> On the Git User's list, Diego J. reported that:
>>>
>>> 'When I "checkout" a branch using different Upper Case/Lower Case than the
>>> original, the branch doesn't show in "git branch [--list]"' [1]
>>>
>>> While case sensitivity for filenames is a common issue on Windows and the
>>> like, I haven't seen any discussion regarding ref name sensitivity - any
>>> pointers to past discussions?
>> Multiple ref backend [1] should solve this.
> Yup, I had the same reaction.  Instead of restricting the namespace
> of branches even on systems that do not have this problem, use a ref
> backend that is not limited by the underlying filesystem.  A much
> better solution.
>
> In addition to the LMDB backend, it might not be a bad idea to add
> another filesystem-based backend that encodes the refnames safely on
> case insensitive or case destroying filesystem.  That way, those who
> do not want an extra dependency but do want case sensitive refnames
> would have an option, and having two non-default backends with quite
> different semantics may be a good way to ensure that the API for
> refs backend is kept sane.

This has been reported (probably a couple of times),
one copy I have here was under "Branch Name Case Sensitivity"
around Feb/March 2014.

The lstat() in refs.c can not be fixed, as the underlying OS/FS thinks
that lstat("nocase") == lstat("NoCase") and
open("nocase") == NoCase").

The the "real name" will not be detected, unless somebody does
opendir(), readdir() and closedir().
This is expensive (in terms of execution time), and nobody
has tried to do something.


One cheap solution would be to run "git pack-refs" internally,
either from C-code inside Git itself, or from a script.

  reply	other threads:[~2015-12-21 18:22 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-21 11:01 Case insensitive branch names Philip Oakley
2015-12-21 12:21 ` [git-for-windows] " Duy Nguyen
2015-12-21 17:37   ` Junio C Hamano
2015-12-21 18:22     ` Torsten Bögershausen [this message]
2015-12-21 20:08       ` Philip Oakley

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5678434B.5040506@web.de \
    --to=tboegi@web.de \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git-for-windows@googlegroups.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=pclouds@gmail.com \
    --cc=philipoakley@iee.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).