Message ID | 20230203125920.751-1-philipoakley@iee.email (mailing list archive) |
---|---|
State | Accepted |
Commit | 1f34e0cd3d799acb5118b3276dde389821bffdd4 |
Headers | show |
Series | .gitattributes: include `text` attribute for eol attributes | expand |
On Fri, Feb 03 2023, Philip Oakley wrote: > The standard advice for text file eol endings in the .gitattributes file > was updated in e28eae3184 (gitattributes: Document the unified "auto" > handling, 2016-08-26) with a recent clarification in 8c591dbfce (docs: > correct documentation about eol attribute, 2022-01-11), with a follow > up comment by the original author in [1] confirming the use of the eol > attribute in conjunction with the text attribute. > > Update Git's .gitattributes file to reflect our own advice. > > [1] https://lore.kernel.org/git/?q=%3C20220216115239.uo2ie3flaqo3nf2d%40tb-raspi4%3E. > > Signed-off-by: Philip Oakley <philipoakley@iee.email> > --- > > I was catching up on last year's back emails, and had saved those on > eol and text conversion, and was prompted by Torsten's [1] to check > my .gitattribute files, only to discover, we aren't providing a good > example to others. Let's fix that. This seems sensible, but if we're taking the churn of changing these lines maybe it's worth moving or adjusting some of this while-at-it. In particular: > .gitattributes | 22 +++++++++++----------- > 1 file changed, 11 insertions(+), 11 deletions(-) > > diff --git a/.gitattributes b/.gitattributes > index b0044cf272..158c3d45c4 100644 > --- a/.gitattributes > +++ b/.gitattributes > @@ -1,17 +1,17 @@ > * whitespace=!indent,trail,space > *.[ch] whitespace=indent,trail,space diff=cpp > -*.sh whitespace=indent,trail,space eol=lf > -*.perl eol=lf diff=perl > -*.pl eof=lf diff=perl > -*.pm eol=lf diff=perl > -*.py eol=lf diff=python > -*.bat eol=crlf We don't have any *.bat in-tree except in compat/vcbuild/. Shouldn't we just create a compat/vcbuild/.gitattributes? This was added in https://lore.kernel.org/git/pull.149.v2.git.gitgitgadget@gmail.com/; so it's for those specific files. > CODE_OF_CONDUCT.md -whitespace > -/Documentation/**/*.txt eol=lf > -/command-list.txt eol=lf > -/GIT-VERSION-GEN eol=lf > -/mergetools/* eol=lf > -/t/oid-info/* eol=lf > +/Documentation/**/*.txt text eol=lf We have a Documentation/.gitattributes, shouldn't we move this Documentation/ rule there instead? > +/command-list.txt text eol=lf > +/GIT-VERSION-GEN text eol=lf > +/mergetools/* text eol=lf ..maybe we should create a mergetools/.gitattributes & move this there? > +/t/oid-info/* text eol=lf Ditto t/.gitattributes and thist/oid-info/ rule. > /Documentation/git-merge.txt conflict-marker-size=32 > /Documentation/gitk.txt conflict-marker-size=32 > /Documentation/user-manual.txt conflict-marker-size=32
On 03/02/2023 13:40, Ævar Arnfjörð Bjarmason wrote: > On Fri, Feb 03 2023, Philip Oakley wrote: > >> The standard advice for text file eol endings in the .gitattributes file >> was updated in e28eae3184 (gitattributes: Document the unified "auto" >> handling, 2016-08-26) with a recent clarification in 8c591dbfce (docs: >> correct documentation about eol attribute, 2022-01-11), with a follow >> up comment by the original author in [1] confirming the use of the eol >> attribute in conjunction with the text attribute. >> >> Update Git's .gitattributes file to reflect our own advice. >> >> [1] https://lore.kernel.org/git/?q=%3C20220216115239.uo2ie3flaqo3nf2d%40tb-raspi4%3E. >> >> Signed-off-by: Philip Oakley <philipoakley@iee.email> >> --- >> >> I was catching up on last year's back emails, and had saved those on >> eol and text conversion, and was prompted by Torsten's [1] to check >> my .gitattribute files, only to discover, we aren't providing a good >> example to others. Let's fix that. > This seems sensible, but if we're taking the churn of changing these > lines maybe it's worth moving or adjusting some of this while-at-it. Seems reasonable. I've added in dscho (cc) for consideration of the Git for Windows viewpoint.. > > In particular: > >> .gitattributes | 22 +++++++++++----------- >> 1 file changed, 11 insertions(+), 11 deletions(-) >> >> diff --git a/.gitattributes b/.gitattributes >> index b0044cf272..158c3d45c4 100644 >> --- a/.gitattributes >> +++ b/.gitattributes >> @@ -1,17 +1,17 @@ >> * whitespace=!indent,trail,space >> *.[ch] whitespace=indent,trail,space diff=cpp >> -*.sh whitespace=indent,trail,space eol=lf >> -*.perl eol=lf diff=perl >> -*.pl eof=lf diff=perl >> -*.pm eol=lf diff=perl >> -*.py eol=lf diff=python >> -*.bat eol=crlf > We don't have any *.bat in-tree except in compat/vcbuild/. Shouldn't we > just create a compat/vcbuild/.gitattributes? This was added in > https://lore.kernel.org/git/pull.149.v2.git.gitgitgadget@gmail.com/; so > it's for those specific files. sensible >> CODE_OF_CONDUCT.md -whitespace Maybe the CODE_OF_CONDUCT.md should also be marked as text? >> -/Documentation/**/*.txt eol=lf >> -/command-list.txt eol=lf >> -/GIT-VERSION-GEN eol=lf >> -/mergetools/* eol=lf >> -/t/oid-info/* eol=lf >> +/Documentation/**/*.txt text eol=lf > We have a Documentation/.gitattributes, shouldn't we move this > Documentation/ rule there instead? ok > >> +/command-list.txt text eol=lf >> +/GIT-VERSION-GEN text eol=lf >> +/mergetools/* text eol=lf > ..maybe we should create a mergetools/.gitattributes & move this there? perhaps. There are probably sufficient listed there to make it work it. > >> +/t/oid-info/* text eol=lf > Ditto t/.gitattributes and this t/oid-info/ rule. > >> /Documentation/git-merge.txt conflict-marker-size=32 >> /Documentation/gitk.txt conflict-marker-size=32 >> /Documentation/user-manual.txt conflict-marker-size=32 I'll hold a day or so for any extra contributions. Philip
On Fri, Feb 03, 2023 at 12:59:20PM +0000, Philip Oakley wrote: > The standard advice for text file eol endings in the .gitattributes file > was updated in e28eae3184 (gitattributes: Document the unified "auto" > handling, 2016-08-26) with a recent clarification in 8c591dbfce (docs: > correct documentation about eol attribute, 2022-01-11), with a follow > up comment by the original author in [1] confirming the use of the eol > attribute in conjunction with the text attribute. > > Update Git's .gitattributes file to reflect our own advice. > > [1] https://lore.kernel.org/git/?q=%3C20220216115239.uo2ie3flaqo3nf2d%40tb-raspi4%3E. > > Signed-off-by: Philip Oakley <philipoakley@iee.email> > --- > > I was catching up on last year's back emails, and had saved those on > eol and text conversion, and was prompted by Torsten's [1] to check > my .gitattribute files, only to discover, we aren't providing a good > example to others. Let's fix that. > > > .gitattributes | 22 +++++++++++----------- > 1 file changed, 11 insertions(+), 11 deletions(-) > > diff --git a/.gitattributes b/.gitattributes > index b0044cf272..158c3d45c4 100644 > --- a/.gitattributes > +++ b/.gitattributes > @@ -1,17 +1,17 @@ > * whitespace=!indent,trail,space > *.[ch] whitespace=indent,trail,space diff=cpp > -*.sh whitespace=indent,trail,space eol=lf > -*.perl eol=lf diff=perl > -*.pl eof=lf diff=perl > -*.pm eol=lf diff=perl > -*.py eol=lf diff=python > -*.bat eol=crlf > +*.sh whitespace=indent,trail,space text eol=lf > +*.perl text eol=lf diff=perl > +*.pl text eof=lf diff=perl > +*.pm text eol=lf diff=perl > +*.py text eol=lf diff=python In my eperience python doesn't care about CRLF or LF, both work. And it is stated here: https://docs.python.org/3/reference/lexical_analysis.html?highlight=line%20endings In that sense we can loosen the eol=lf, and use CRLF under Windows and LF elsewhere. This will make e.g. notepad users happy: > +*.py text diff=python
Philip Oakley <philipoakley@iee.email> writes: > The standard advice for text file eol endings in the .gitattributes file > was updated in e28eae3184 (gitattributes: Document the unified "auto" > handling, 2016-08-26) with a recent clarification in 8c591dbfce (docs: > correct documentation about eol attribute, 2022-01-11), with a follow > up comment by the original author in [1] confirming the use of the eol > attribute in conjunction with the text attribute. > > Update Git's .gitattributes file to reflect our own advice. > > [1] https://lore.kernel.org/git/?q=%3C20220216115239.uo2ie3flaqo3nf2d%40tb-raspi4%3E. > > Signed-off-by: Philip Oakley <philipoakley@iee.email> > --- > > I was catching up on last year's back emails, and had saved those on > eol and text conversion, and was prompted by Torsten's [1] to check > my .gitattribute files, only to discover, we aren't providing a good > example to others. Let's fix that. Thanks. Let's keep this single step as a pure "no, eol=lf alone is not how we recommend you to mark a text file, and here is the fix" change. There may be other things people might want to do on top of this change, but they can be done on top. Will queue. Thanks. > > > .gitattributes | 22 +++++++++++----------- > 1 file changed, 11 insertions(+), 11 deletions(-) > > diff --git a/.gitattributes b/.gitattributes > index b0044cf272..158c3d45c4 100644 > --- a/.gitattributes > +++ b/.gitattributes > @@ -1,17 +1,17 @@ > * whitespace=!indent,trail,space > *.[ch] whitespace=indent,trail,space diff=cpp > -*.sh whitespace=indent,trail,space eol=lf > -*.perl eol=lf diff=perl > -*.pl eof=lf diff=perl > -*.pm eol=lf diff=perl > -*.py eol=lf diff=python > -*.bat eol=crlf > +*.sh whitespace=indent,trail,space text eol=lf > +*.perl text eol=lf diff=perl > +*.pl text eof=lf diff=perl > +*.pm text eol=lf diff=perl > +*.py text eol=lf diff=python > +*.bat text eol=crlf > CODE_OF_CONDUCT.md -whitespace > -/Documentation/**/*.txt eol=lf > -/command-list.txt eol=lf > -/GIT-VERSION-GEN eol=lf > -/mergetools/* eol=lf > -/t/oid-info/* eol=lf > +/Documentation/**/*.txt text eol=lf > +/command-list.txt text eol=lf > +/GIT-VERSION-GEN text eol=lf > +/mergetools/* text eol=lf > +/t/oid-info/* text eol=lf > /Documentation/git-merge.txt conflict-marker-size=32 > /Documentation/gitk.txt conflict-marker-size=32 > /Documentation/user-manual.txt conflict-marker-size=32
diff --git a/.gitattributes b/.gitattributes index b0044cf272..158c3d45c4 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,17 +1,17 @@ * whitespace=!indent,trail,space *.[ch] whitespace=indent,trail,space diff=cpp -*.sh whitespace=indent,trail,space eol=lf -*.perl eol=lf diff=perl -*.pl eof=lf diff=perl -*.pm eol=lf diff=perl -*.py eol=lf diff=python -*.bat eol=crlf +*.sh whitespace=indent,trail,space text eol=lf +*.perl text eol=lf diff=perl +*.pl text eof=lf diff=perl +*.pm text eol=lf diff=perl +*.py text eol=lf diff=python +*.bat text eol=crlf CODE_OF_CONDUCT.md -whitespace -/Documentation/**/*.txt eol=lf -/command-list.txt eol=lf -/GIT-VERSION-GEN eol=lf -/mergetools/* eol=lf -/t/oid-info/* eol=lf +/Documentation/**/*.txt text eol=lf +/command-list.txt text eol=lf +/GIT-VERSION-GEN text eol=lf +/mergetools/* text eol=lf +/t/oid-info/* text eol=lf /Documentation/git-merge.txt conflict-marker-size=32 /Documentation/gitk.txt conflict-marker-size=32 /Documentation/user-manual.txt conflict-marker-size=32
The standard advice for text file eol endings in the .gitattributes file was updated in e28eae3184 (gitattributes: Document the unified "auto" handling, 2016-08-26) with a recent clarification in 8c591dbfce (docs: correct documentation about eol attribute, 2022-01-11), with a follow up comment by the original author in [1] confirming the use of the eol attribute in conjunction with the text attribute. Update Git's .gitattributes file to reflect our own advice. [1] https://lore.kernel.org/git/?q=%3C20220216115239.uo2ie3flaqo3nf2d%40tb-raspi4%3E. Signed-off-by: Philip Oakley <philipoakley@iee.email> --- I was catching up on last year's back emails, and had saved those on eol and text conversion, and was prompted by Torsten's [1] to check my .gitattribute files, only to discover, we aren't providing a good example to others. Let's fix that. .gitattributes | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-)