Code

git-blame --porcelain
authorJunio C Hamano <junkio@cox.net>
Thu, 5 Oct 2006 21:07:42 +0000 (14:07 -0700)
committerJunio C Hamano <junkio@cox.net>
Fri, 6 Oct 2006 07:13:25 +0000 (00:13 -0700)
commitb5c698d947c236559e338e45c6234ece7c819338
treea7469352b57c549b989ceb50002c80de4ac76c61
parentc137f40f8a9dfe05ee002cf5f23bf562c1f13100
git-blame --porcelain

The new option makes the command's native output format to emit
output that is easier to handle by Porcelain.

Each line is output after a header.  The header at the minimum
has the first line which has:

 - 40-byte SHA-1 of the commit the line is attributed to;

 - the line number of the line in the original file;

 - the line number of the line in the final file;

 - on a line that starts a group of line from a different commit
   than the previous one, the number of lines in this group.  On
   subsequent lines this field is absent.

This header line is followed by the following information once
for each commit:

 - author name ("author"), email ("author-mail"), time
   ("author-time"), and timezone ("author-tz"); similarly for
   committer.

 - filename in the commit the line is attributed to.

 - the first line of the commit log message ("summary").

The contents of the actual line is output after the above
header, prefixed by a TAB. This is to allow adding more header
elements later.

Signed-off-by: Junio C Hamano <junkio@cox.net>
blame.c