public inbox for git@vger.kernel.org 
 help / color / mirror / Atom feed
From: "Shawn O. Pearce" <spearce@spearce•org>
To: Thomas Singer <thomas.singer@syntevo•com>
Cc: Johannes Schindelin <Johannes.Schindelin@gmx•de>,
	Marc Strapetz <marc.strapetz@syntevo•com>,
	git@vger•kernel.org
Subject: Re: [egit-dev] Re: jgit problems for file paths with non-ASCII characters
Date: Thu, 26 Nov 2009 11:57:36 -0800	[thread overview]
Message-ID: <20091126195736.GV11919@spearce.org> (raw)
In-Reply-To: <4B0E9F69.9040502@syntevo.com>

Thomas Singer <thomas.singer@syntevo•com> wrote:
> > You mean we should do the same thing as Apple with HFS?  Are you serious?
> 
> Yes, I'm serious. IMHO there should be a defined clear encoding used for
> files names in the repository. Otherwise you don't know what you can expect
> by reading it - it could mean anything. File names are in fact strings which
> are based on characters. To convert characters to bytes (or visa versa) you
> need to know the encoding.

That's likely not going to fly.  HFS+ has changed their decomposition
rules at least once, which means the byte sequence for the same
character sequence would differ, and a tree or commit hash would
come out different depending upon which rules you were following.
See [1] for details on what HFS+ does.

Also, Linus has previously stated HFS+ chose the worst possible
way to encode the names.  Getting Linus to admit he was wrong is
impossible, getting Linus to accept the HFS+ encoding rules as the
standard format used in a Git repository is not likely to happen.
Fortunately Linus carries a slightly smaller stick in Git than he
used to, but he is quite vocal and people tend to listen.

[1] http://developer.apple.com/mac/library/technotes/tn/tn1150.html#UnicodeSubtleties

-- 
Shawn.

  reply	other threads:[~2009-11-26 19:57 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-25 13:47 jgit problems for file paths with non-ASCII characters Marc Strapetz
2009-11-25 21:11 ` Robin Rosenberg
2009-11-26  0:54   ` [egit-dev] " Shawn O. Pearce
2009-11-26 13:09     ` Thomas Singer
2009-11-26 14:47       ` Johannes Schindelin
2009-11-26 15:31         ` Thomas Singer
2009-11-26 19:57           ` Shawn O. Pearce [this message]
2009-11-26 16:44       ` Robin Rosenberg
2009-11-26 14:25     ` Marc Strapetz
2009-11-26 20:03       ` Shawn O. Pearce

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=20091126195736.GV11919@spearce.org \
    --to=spearce@spearce$(echo .)org \
    --cc=Johannes.Schindelin@gmx$(echo .)de \
    --cc=git@vger$(echo .)kernel.org \
    --cc=marc.strapetz@syntevo$(echo .)com \
    --cc=thomas.singer@syntevo$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox