Peter Eckersley [off-list ref] writes:
I have a local git repo that's in some weird state where changes
appear to be detected by "git diff" and prevent operations like "git
checkout" from switching branches, but those changes are not removed
by a "git reset --hard" or "git stash".
Here's an example of the behaviour, with "git reset --hard" failing to
clear a diff in the index:
https://paste.debian.net/975811/
Happy to collect additional debugging information if it's useful.
Do you have any funny clean-smudge pair that do not round-trip?