Brian Gernhardt <benji@xxxxxxxxxxxxxxxxxx> wrote: > It seems to me that a tracked .gitattributes file should have things > like > > *.txt: text > *.gif: binary > *.[ch]: text > > And the .git/config should have > > [attribute "text"] > mangle = crlf > > [attribute "binary"] > merge = none > > The type of each file should be tracked, but what to do with each > type is a local issue. Trying to merge the two is madness. Yes, exactly. :-) I would also recommend that we encourage use of standard MIME types to define the file types, but don't enforce it. Thus I can setup something like: cat >.gitattributes <<EOF *.txt: text/plain *.java: text/java-source *.xml: text/xml *.bin: mycompany-binary EOF cat >>.git/config <<EOF [attribute "text/*"] mangle = crlf [attribute "text/xml"] merge = better-xml-mergething [attribute "mycompany-binary"] mangle = no merge = mycompany-binarymerge EOF And have all three classes of files be mangled with CRLF, but XML files are also merged with the external merge process, and the special type mycompany-binary might be a local file format that comes with its own merge tools, but is not exactly a registered MIME type. One advantage here is we can setup attribute.text/*.mangle=crlf on Windows platforms by default for users, as we can reasonably assume all text content falls into this MIME type... -- Shawn. - 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