Git blame showing no history
git blame file.txt
blames the version of file.txt in your working copy. If file.txt has Windows-newlines (CRLF) in the repo and you have core.autocrlf = true
, then every line of file.txt will be considered different and will be reported by git blame
as not yet committed.
The reason why git blame <my_branch>
(or even better git blame HEAD
, which works no matter what branch you're on) works, is that it doesn't blame the working copy version so there's no potential for lines not yet being committed.
Found the solution - very weird.
If I run this:
git blame file.txt
The history is broken, as posted above.
If I do this instead:
git blame my_branch file.txt
It works!
This is very weird, because AFAICS the usage doesn't require a branch name:
$ git blame
usage: git blame [options] [rev-opts] [rev] [--] file