When I run git blame on a file (using msysgit) I always get the following sort of printout:
00000000 (Not Committed Yet 2011-01-09 11:21:30 +0200 1) package co
00000000 (Not Committed Yet 2011-01-09 11:21:30 +0200 2) {
00000000 (Not Committed Yet 2011-01-09 11:21:30 +0200 3) impor
00000000 (Not Committed Yet 2011-01-09 11:21:30 +0200 4) impor
00000000 (Not Committed Yet 2011-01-09 11:21:30 +0200 5) impor
00000000 (Not Committed Yet 2011-01-09 11:21:30 +0200 6) impor
00000000 (Not Committed Yet 2011-01-09 11:21:30 +0200 7) impor
i.e. it shows all lines as Not Yet Committed.
I tried this on many files, that have many commits - always the same results. I also tried using relative/full path, but it seems to make no difference.
When I try to use TortoiseGit's blame it always shows every line as being last committed at the first commit:
even thought, as I've said, there are actually tens of commits in the history of these files..
Ideas?
Edit - More Info
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.