git-code-format-maven-plugin icon indicating copy to clipboard operation
git-code-format-maven-plugin copied to clipboard

Reformatting on Windows during pre commit hook causes the reformatted file to be restaged

Open mjuergens-cg opened this issue 1 year ago • 1 comments

What steps will reproduce the problem? Steps to reproduce the behavior:

  1. Git repo on Windows with autocrlf=true
  2. git-code-format-maven-plugin in 5.3 set up using Maven, Git hooks installed
  3. Change a file in the repo such that git-code-format-maven-plugin will reformat it
  4. Commit

What is the expected output? Commited, nothing more

What happens instead? git status show that the file is restaged (this time apparently due to changed line endings):

modified: src/x/y.java

I can see the original file has CRLF line endings, the temporary file has LF line endings and the restaged file has CRLF endings again.

When I recommit again the staged file (that is not to be reformatted then), the commit is successful without being restaged.

Environment:

  • OS: Windows 10
  • Git version: 2.39.1
  • git-code-format-maven-plugin version: 5.3
  • Maven version: 3.9.5

Link to a git repository that can be cloned to reproduce the problem:

Additional context No problems when autocrlf=false

mjuergens-cg avatar Jul 17 '24 10:07 mjuergens-cg