From: Jakub Narebski <jnareb@gmail.com>
To: Linus Torvalds <torvalds@osdl.org>
Cc: Johannes Schindelin <Johannes.Schindelin@gmx.de>, git@vger.kernel.org
Subject: Re: Moving a directory into another fails
Date: Mon, 4 Dec 2006 21:56:44 +0100 [thread overview]
Message-ID: <200612042156.44963.jnareb@gmail.com> (raw)
In-Reply-To: <Pine.LNX.4.64.0612041114240.3476@woody.osdl.org>
Dnia poniedziałek 4. grudnia 2006 21:26, Linus Torvalds napisał:
>>>> On Mon, 4 Dec 2006, Jakub Narebski wrote:
>>>>
>>>>> [...] git should acquire core.filesystemEncoding configuration variable
>>>>> which would encode from filesystem encoding used in working directory
>>>>> and perhaps index to UTF-8 encoding used in repository (in tree objects)
>>>>> and perhaps index.
> You guys are ignoring the _real_ problem.
>
> It has nothing at all to do with dependencies on external packages. The
> REAL problem is that if you do locale-dependent trees and other git
> objects, git will STOP WORKING.
>
> A filename in a tree object _has_ to be see as a pure 8-bit character
> stream. They _have_ to be compared with "memcmp()", and they have to sort
> the same way and mean EXACTLY the same thing for everybody.
What I propose is having filename in tree object UTF-8 encoded. I don't
know if git relies heavily that filename encoding on filesystem (in working
area) is the same as in the index, is the same as in a tree object.
Although I'm not sure what is the problem. You checkout non US-ASCII filename
out of git; the file can have strange characters in a name, but should
encode to the filename as is in git. The problem migh be some forbidden by
filesystem characters in a filename perhaps.
Although Wolfgang Fischer wrote (to me and Johannes Schindelin) that HFS+
uses UTF8-NFC (Normalization-Form-Composed) when creating a file, while
readdir returns encoding used by HFS+, which is UTF8-NFD (Normalization-Form-
Decomposed). [Explitive censored]
> If a filesystem cannot represent that name AS THAT BYTE SEQUENCE then the
> filesystem is broken. No ifs, buts, maybes about it. I'm sorry, but that's
> how it is.
We have some configuration variables to work around broken filesystems,
like core.ignoreStat, so why not core.filesystemEncoding.
--
Jakub Narebski
next prev parent reply other threads:[~2006-12-04 20:54 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-07-26 15:00 Moving a directory into another fails Jon Smirl
2006-07-26 22:34 ` Nicolas Vilz
2006-07-26 23:03 ` Jon Smirl
2006-07-26 23:25 ` Nicolas Vilz
2006-07-28 1:43 ` Petr Baudis
2006-12-04 18:19 ` Stefan Pfetzing
2006-12-04 18:56 ` Jakub Narebski
2006-12-04 19:03 ` Johannes Schindelin
2006-12-04 19:10 ` Jakub Narebski
2006-12-04 19:10 ` Johannes Schindelin
2006-12-04 19:37 ` Jakub Narebski
[not found] ` <7617FA7E-D49A-4A4C-B033-C2CB20623F5F@wf227.com>
2006-12-04 21:01 ` Johannes Schindelin
2006-12-04 20:26 ` Linus Torvalds
2006-12-04 20:51 ` Linus Torvalds
2006-12-04 20:54 ` Shawn Pearce
2006-12-04 20:56 ` Jakub Narebski [this message]
2006-12-04 21:05 ` Johannes Schindelin
2006-12-04 21:23 ` Linus Torvalds
2006-12-05 7:34 ` Johannes Schindelin
2006-12-05 9:36 ` Jakub Narebski
2006-12-05 14:11 ` filesystem encodings and gitweb tests, was " Johannes Schindelin
2006-12-05 14:29 ` Jakub Narebski
2006-12-05 14:40 ` Johannes Schindelin
2006-12-05 17:11 ` Linus Torvalds
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200612042156.44963.jnareb@gmail.com \
--to=jnareb@gmail.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=torvalds@osdl.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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.