git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Robin Rosenberg <robin.rosenberg@dewire.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	Kevin Ballard <kevin@sb.org>,
	Johannes Schindelin <Johannes.Schindelin@gmx.de>,
	git@vger.kernel.org
Subject: Re: Re-casing directories on case-insensitive systems
Date: Fri, 11 Jan 2008 16:37:52 -0800	[thread overview]
Message-ID: <7v3at3280v.fsf@gitster.siamese.dyndns.org> (raw)
In-Reply-To: <200801120026.01930.robin.rosenberg@dewire.com> (Robin Rosenberg's message of "Sat, 12 Jan 2008 00:26:01 +0100")

Robin Rosenberg <robin.rosenberg@dewire.com> writes:

> Could we just have a lookup table index extension for identifying the 
> duplicates (when checking is enabled using core configuration option #3324)? 
> That table would keep a mapping from a normalized form (maybe include 
> canonical encoding while we're at it) to the actual octet sequence(s) used.

I would agree that the index extension, if we ever are going to
do this, would be the right place to store this information, at
the single repository level.

However, this opens up a can of worms.  What's the canonical key
should be?  If you want to protect yourself from a unicode
normalizing filesystem, you would use one canonicalization,
while if you want to protect from a case losing filesystem you
would use another?  Or do we at the same time downcase and NFD
normalize at the same time and be done with it?

And where should the configuration be stored?  If a project
wants to be interoperable across Linux and vfat, for example,
that canonicalization needs to be enabled in repositories of all
participants, be they on Linux or vfat, so that people on Linux
can be prevented from creating and register two files xt_mark.c
and xt_MARK.c in the same directory, so that people who extract
the source on vfat won't have troubles.

Which means the information needs to be in-tree.  But that
should not be in .gitattributes (which by definition is for
per-path things).

  parent reply	other threads:[~2008-01-12  0:38 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-11 20:19 Re-casing directories on case-insensitive systems Kevin Ballard
2008-01-11 21:09 ` Kevin Ballard
2008-01-11 21:19   ` Kevin Ballard
2008-01-11 21:25   ` Linus Torvalds
2008-01-11 21:59   ` Robin Rosenberg
2008-01-11 21:18 ` Linus Torvalds
2008-01-11 21:29 ` Johannes Schindelin
2008-01-11 21:44   ` Kevin Ballard
2008-01-11 22:05     ` Johannes Schindelin
2008-01-11 22:08     ` Linus Torvalds
2008-01-11 23:10       ` David Kastrup
2008-01-11 23:12         ` Kevin Ballard
2008-01-11 23:26       ` Robin Rosenberg
2008-01-12  0:03         ` Kevin Ballard
2008-01-12  0:15           ` Robin Rosenberg
2008-01-12  0:25             ` Kevin Ballard
2008-01-12  0:27               ` Junio C Hamano
2008-01-12  0:40                 ` Johannes Schindelin
2008-01-12  1:16                   ` Kevin Ballard
2008-01-12  1:30                     ` Junio C Hamano
2008-01-12  1:43                       ` Kevin Ballard
2008-01-12 12:07                         ` David Kastrup
2008-01-12 15:03                         ` Dmitry Potapov
2008-01-12  0:37         ` Junio C Hamano [this message]
2008-01-12  0:57           ` Robin Rosenberg
2008-01-12 16:33             ` Johannes Schindelin
2008-01-12 14:46       ` Dmitry Potapov
2008-01-12 18:47         ` Linus Torvalds
2008-01-12 19:29           ` Dmitry Potapov

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=7v3at3280v.fsf@gitster.siamese.dyndns.org \
    --to=gitster@pobox.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=kevin@sb.org \
    --cc=robin.rosenberg@dewire.com \
    --cc=torvalds@linux-foundation.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).