On Wed, 5 Feb 2014 05:51:38 -0800 (PST) Philipp Kraus <philipp.kr...@flashpixx.de> wrote:
> can I use gitattributes for change the encoding of text file? I would > like to encode all text file with UTF-8 and replace the \t to 4 > spaces. How can I do this? Well, in theory, you can -- using the so-called "clean filter" (see the relevant section of the gitattributes manual page), -- but why should you? For instance, how do you know the *input* encoding to be used when re-encoding? If it's supposed to be the system encoding (and thus it appears you're using Windows as all sensible POSIX system use UTF-8 by default since ages, or run with encoding-agnostic defaults such as the "C" locale) then why not just use UTF-8? Any sensible text editor these days supports it. It might require certain tweaking but writing a Git filter is way more pain in the neck. The same goes about indentation--why not just use a specialized tool, like indent [1], for fixing up the formatting? Or, if IDE is used, just enforce this in its editor's settings? As one example, to develop in Go on Windows, I have the following tweaks in my ~/_vimrc file: if has("autocmd") autocmd FileType go setlocal makeprg=go\ build autocmd BufNewFile *.go setlocal ff=unix|setlocal fenc=utf-8|setlocal nobomb endif This forces LF-style line endings, UTF-8 for the file encoding and forces deleting of byte-order-marks on save. Another "problem" is that while it's okay to keep the .gitattributes file in the repository (committed), the filter program is supposed to be located on each developer's machine. 1. http://www.gnu.org/software/indent/ -- You received this message because you are subscribed to the Google Groups "Git for human beings" group. To unsubscribe from this group and stop receiving emails from it, send an email to git-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.