Jan-Benedict Glaw wrote: > On Sun, 2006-10-08 17:10:51 +0800, Liu Yubao <yubao.liu@xxxxxxxxx> wrote: >> I want to know whether there is a plan to add this feature, or GIT doesn't >> require it at all. >> >> Properties like encoding (path name, file content), eol-style, mime-type >> are useful for editing. > > GIT is a content tracker. It won't ever fiddle with your line > endings. You put data in there and it'll be conserved bit-by-bit. So > if you need to store file encodings, MIME types, automatic CR/CRLF/LF > converstion etc, you have to put this metadata into some additional > files, but GIT won't specifically handle that in any way. Mimetype has no place (I think) in SCM. We could in pronciple "borrow" Mercurial idea of input/output filters http://www.selenic.com/mercurial/wiki/index.cgi/EncodeDecodeFilter which would (among others) enable to use constant eol-style in the shared part of repository i.e. object database, while using OS native eol-style (UNIX vs. Microsoft Windows vs. MacOS). eol-style doesn't matter much: you can find good editors which are able to use any eol-style for any OS nowadays. File content encoding is something (if it is outside US-ASCII of course) that you would want either to have some default convention, or have it embedded in the file itself (like XML, HTML, or Emacs' file variables) to be able to read file _outside_ SCM. Path name encoding is something that is global property of a repository, I think. We have i18n.commitEncoding configuration variable; we could add i18n.pathnameEncoding quite easily I think (and some way for Git to detect current filesystem pathname encoding, if possible). Although BTW I think that i18n.commitEncoding information should be made persistent, and copied when cloning repository. But in fact the philosophy of Git _prohibits_ I think property bits. Unless we add ability (which can be done fairly easy even now, but will not be automatic) to save some metainfo (ACL, extended attributes, Subversion-like properties) along with the file (blob) and/or tree (directory). -- Jakub Narebski Warsaw, Poland ShadeHawk on #git - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html