On a cross-platform source tree there are files that:
(a) should keep their unix LF line endings (e.g., shell scripts),
(b) should keep their DOS CR+LF line endings (.inf files), and
(c) should switch whatever the user prefers and have CR & CR+LF treated
indiscriminately (C/C++ source files).

For (c), we need git collaboration. Commiting line end changes is a
no-no, since it will create conflicts for all eternity.

In git it seems that the solution for that is core.autocrlf option
(http://www.kernel.org/pub/software/scm/git/docs/git-config.html ) and

My understanding from the manual page is that only people who are
developing on Windows should/must enable the this option by typing:

 git config --global core.autocrlf true

and this will make git to convert *all text* files to CR+LF on
*checkout*, and to LF on *commit*. This means that:
- the repository generally keeps (c) files stored in LF, which means
that we are already screwed in several places.
- unix users don't need to set this option.

After, we may need to tweak core.autocrlf behavior a bit
using .gitattributes
(http://www.kernel.org/pub/software/scm/git/docs/gitattributes.html) to
disable the automatic CR+LF translation for files in case (a) and (b).
There is apparently a new option under development, core.safecrlf,
which prevents git to mistakenly do CR+LF conversion of binary files.

Jose

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to