Elijah Newren <newren@xxxxxxxxx> writes: > A possibly crazy idea: Don't bother reporting the other filename; just > report the OID instead. > > "Error: Foo.txt cannot be checked out because another file with hash > <whatever> is in the way." Maybe even add a hint for the user: "Run > `git ls-files -s` to see see all files and their hash". Once we start using OID to talk to humans, we are already lost. At that point, it would be 1000% better to - not check out Foo.txt to unlink and overwrite; instead leave the content that is already in the working tree as-is; and - report that Foo.txt was not checked out as something else that also claims to deserve that path was checked out already. Then the user can inspect Foo.txt and realize it is actually the contents that should be in foo.txt or whatever.