Subject: Re: Cross-Platform Version Control

From: Andreas Ericsson <[email-masked]>
Date: Thu, 14 May 2009 22:21:09 +0200

Esko Luontola wrote:
> Peter Krefting wrote on 14.5.2009 16:48:
>> Is it really necessary to store the encoding for every single file 
>> name, should it not be enough to just store encoding information for 
>> all file names at once (i.e., for the object that contains the list of 
>> file names and their associated blobs)?
> 
> What about if some disorganized project has people committing with many 
> different encodings? Should we allow it, that a directory has the names 
> of some files using one encoding, and the names of other files using 
> another encoding? Or should we force the whole repository to use the 
> same encoding?
> 

If encodings are on a per-tree basis, we could add a special mode-flag for
it without breaking backwards incompatibility (I think, anyways). Older
gits just won't know how to handle it and will treat it as a byte-stream.

>> The best way would be to define this in the Git core once and for all, 
>> and add support to it for all the platforms in the same go, instead of 
>> trying to hack around the issue whenever it pops up on the various 
>> platforms.
> 
> +1
> 

There's still the problem that noone's stepped forward to do all that
work yet, so apparently this isn't important enough for people to put
their patches where their mouths are. Often when issues generate long
discussions and no code, it's of high academic interest and of little
real-world value.

I believe the "little real-world value" here comes from the fact that
cross-platform projects often enforce 7-bit ascii compatible filenames
from the start, because they *know* they may run into problems on other
filesystems otherwise. Remember it's not only git that has to get
things right. It's also build-systems and compilers that have to locate
the correct files (the Makefile and the filesystem may use different
encodings), so in the real world, people really do stay away from
filenames with åäö or other non-ascii chars in them.

It's fun to discuss, but I won't spend any time on it. Good luck to
those who do though. I'd quite like to see if someone could pull it
off without breaking backwards compatibility or impacting performance
too much.

-- 
Andreas Ericsson                   [email-masked]
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231

Register now for Nordic Meet on Nagios, June 3-4 in Stockholm
 http://nordicmeetonnagios.op5.org/

Considering the successes of the wars on alcohol, poverty, drugs and
terror, I think we should give some serious thought to declaring war
on peace.