Johannes Schindelin <johannes.schindelin@xxxxxx> writes: > When generating common-cmds.h, the Unix tools we use generally operate on > the assumption that input and output deliminate their lines using LF-only > line endings. Consequently, they would happily copy the CR byte verbatim > into the strings in common-cmds.h, which in turn makes the C preprocessor > barf (that interprets them as MacOS-style line endings). Therefore, we > have to mark the input files as LF-only: command-list.txt and > Documentation/git-*.txt. I guess nobody in the Windows land opens the doc source with Notepad, like experienced Git developers runs "less" on them as a faster way than accessing HTMLized (or manified) versions, and marking Documentation/git-*.txt explicitly as eol=lf is OK. That was the only thing I had brief worry about this patch. Thanks, will queue. > diff --git a/.gitattributes b/.gitattributes > index 320e33c327c..8ce9c6b8888 100644 > --- a/.gitattributes > +++ b/.gitattributes > @@ -1,3 +1,9 @@ > * whitespace=!indent,trail,space > *.[ch] whitespace=indent,trail,space diff=cpp > -*.sh whitespace=indent,trail,space > +*.sh whitespace=indent,trail,space eol=lf > +*.perl eol=lf > +*.pm eol=lf > +/Documentation/git-*.txt eol=lf > +/command-list.txt eol=lf > +/GIT-VERSION-GEN eol=lf > +/mergetools/* eol=lf > diff --git a/git-gui/.gitattributes b/git-gui/.gitattributes > index 33d07c06bd9..59cd41dbff7 100644 > --- a/git-gui/.gitattributes > +++ b/git-gui/.gitattributes > @@ -2,3 +2,4 @@ > * encoding=US-ASCII > git-gui.sh encoding=UTF-8 > /po/*.po encoding=UTF-8 > +/GIT-VERSION-GEN eol=lf