On Sat, Jul 12, 2025 at 09:45:39AM +0000, Jason Cho wrote: > ```MINGW64 /tmp/summer-temp/dbeaver/docs ((e4219ccb38...)) > $ git log -1 --patch license_header.txt > commit b5121d4a6e8f3f21079920180b0fb14ada6d3349 > Author: serge-rider <serge@xxxxxxxxx> > Date: Thu Jan 10 21:56:55 2019 +0300 > > License header update (2019) > > diff --git a/docs/license_header.txt b/docs/license_header.txt > index 86de505a18..d75b48e98e 100644 > --- a/docs/license_header.txt > +++ b/docs/license_header.txt > @@ -1,5 +1,5 @@ > DBeaver - Universal Database Manager > - Copyright (C) 2010-2018 Serge Rider (serge@xxxxxxxxx) > + Copyright (C) 2010-2019 Serge Rider (serge@xxxxxxxxx)^M > > Licensed under the Apache License, Version 2.0 (the "License"); > you may not use this file except in compliance with the License. > > MINGW64 /tmp/summer-temp/dbeaver/docs ((a3f59b66ed...)) > $ git check-attr --all -- license_header.txt > > MINGW64 /tmp/summer-temp/dbeaver/docs ((a3f59b66ed...)) > $ rm license_header.txt > > MINGW64 /tmp/summer-temp/dbeaver/docs ((a3f59b66ed...)) > $ git -c core.autocrlf=false -c core.eol=lf checkout -f HEAD -- license_header.txt > > MINGW64 /tmp/summer-temp/dbeaver/docs ((a3f59b66ed...)) > $ cat -A license_header.txt > DBeaver - Universal Database Manager^M$ > Copyright (C) 2010-2019 Serge Rider (serge@xxxxxxxxx)^M$ > ^M$ > Licensed under the Apache License, Version 2.0 (the "License");^M$ > you may not use this file except in compliance with the License.^M$ > You may obtain a copy of the License at^M$ > > MINGW64 /tmp/summer-temp/dbeaver/docs ((a3f59b66ed...)) > $ git --version > git version 2.47.0.windows.2 > ``` > > I ask git to force checkout license_header.txt with LF line ending, but `cat` tells me the file is checked out with CRLF. Why? > Side note: Did you ? I would suspect that core.autocrlf=false switches off the CRLF handling. And this could be a command line: git -c core.autocrlf=input -c core.eol=lf checkout -f HEAD -- license_header.txt But now to the real stuff: It may be that your file had been commited with LF or mixed CRLF into the repo. In this case will Git not change CRLF into LF at checkout. What does git ls-files --eol license_header.txt give you ? Beside that, I would recommend to set up a .gitatrributes file and add it to the repo. echo "* text=auto" >.gitattributes git add --renormalize . git commit -m "Normalize line endings"