[PATCH 0/4] Blame in reverse
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Apr 3, 2008, 09:08 UTC
- Message-ID
- <7v4paj486a.fsf@gitster.siamese.dyndns.org>
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(-)