Subject: [PATCH 0/4] Blame in reverse

From: Junio C Hamano <[email-masked]>
Date: Thu, 03 Apr 2008 02:08:45 -0700

This is still rough, but I think it would be a good foundation to build
interesting archaeology tools on.

Usual "git blame" starts from the latest revision and finds where each
line came from (i.e. who came up with that brilliant idea, or more often
who introduced that bug).  This new mode starts from an old revision, and
annotates in reverse --- up to which point each line survived, before it
got replaced with something else.  A line that began its life in one file
can be removed from the original file but migrate to another, and we will
find its final resting place when you use the usual -C -C option.

 [1/4] "log" and friends: --children option
 [2/4] builtin-blame.c: move prepare_final() into a separate function.
 [3/4]  builtin-blame.c: allow more than 16 parents
 [4/4] git-blame --reverse

 builtin-blame.c |  206 +++++++++++++++++++++++++++++++++++++++----------------
 log-tree.c      |   20 ++++++
 revision.c      |   28 ++++++++
 revision.h      |    1 +
 4 files changed, 196 insertions(+), 59 deletions(-)