I have checked out an SVN repository using git svn with git 2.35.1. It has worked for a long time, but as of recently I get ghost-diffs:
$ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
    modified:   tools/a.cpp
    modified:   tools/b.cpp
    modified:   tools/c.cpp
    ...
If I git checkout . I get:
$ git checkout .
Updated 28 paths from the index
But nothing changes, i.e. git status keeps showing the same differences. I cannot git svn rebase from the remote SVN server:
$ git svn rebase
tools/a.cpp: needs update
tools/b.cpp: needs update
tools/c.cpp: needs update
...
When I use git diff I get full differences for all the files in this list. Using git diff -w says
$ git diff -w
warning: LF will be replaced by CRLF in tools/a.cpp.
The file will have its original line endings in your working directory
I understand this is caused by whitespace changes between the local git checkout and the SVN server. I just cannot figure out any combination of options or configuration settings that will fix the problem.
EDIT:
I actually found a solution to update the repository: I checked out the revision before tools/a.cpp and friends were committed, and from there do a git svn rebase. This updates to the latest revision. But the problem is there again, and if I want to update further I have to repeat this revert and rebase process, so this is not a real solution, especially for large histories.
 
    