> On 12 Dec 2017, at 20:31, Junio C Hamano <gitster@xxxxxxxxx> wrote: > > Lars Schneider <larsxschneider@xxxxxxxxx> writes: > >> Our favorite is "treat-encoding-as". Do you consider this better >> or worse than "checkout-encoding"? > > I am afraid that "treat as" is not sufficiently specific and would > invite a misinterpretation, e.g. "You record the bytes I throw at > you as-is in the object store, but treat them appropriately as > contents that are encoded in cp1252 when presenting". > > what is missing is at what stage in the overall user experience does > that "treating" happens. That causes such a misinterpretation. > > So from that point of view, "checkout-" or" working-tree-" would be > a better phrase to accompany "encoding" to clarify what this attr is > for than "treat-as". Alright. I'll go with "checkout-encoding" then. > Having said all that, this "feature" would need a moderate amount of > clear description in the documentation, and between the perfect and > a suboptimal name, the amount of explanation required would not be > all that different, I suspect. We need to say that those who wish > to use this attribute are buying into recording their contents in > UTF-8 and when the contents are externalized to the working tree, > they are converted to the encoding the value of this attribute > specifies and vice versa. Absolutely! The docs will come in v2. I just wanted to send out a v1 to make people aware of what I am working on. I think storing the encoding in gitattributes might not be the perfect solution but probably a pragmatic one (because it works and the changes to Git are rather small). In a perfect world I think I would store the encoding of a file in the tree object. I didn't pursue that solution as this would change the Git data model which would open a can of worms for a problem that not that many people have (almost everyone is on UTF-8 anyways). - Lars