summaryrefslogtreecommitdiff
path: root/builtin-diff-index.c
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <junkio@cox.net>2006-10-19 18:49:30 -0700
committerLibravatar Junio C Hamano <junkio@cox.net>2006-10-20 00:27:05 -0700
commitd24bba8008d8e537cb48e9760f7621cbe7ae9e38 (patch)
tree4ed60a379c34a80de441e6a0808b25c20555cb68 /builtin-diff-index.c
parentgit-pickaxe: blame rewritten. (diff)
downloadtgif-d24bba8008d8e537cb48e9760f7621cbe7ae9e38.tar.xz
git-pickaxe -M: blame line movements within a file.
This makes pickaxe more intelligent than the classic blame. A typical example is a change that moves one static C function from lower part of the file to upper part of the same file, because you added a new caller in the middle. The versions in the parent and the child would look like this: parent child A static foo() { B ... C } D A E B F C G D static foo() { ... call foo(); ... E } F H G H With the classic blame algorithm, we can blame lines A B C D E F G and H to the parent. The child is guilty of introducing the line "... call foo();", and the blame is placed on the child. However, the classic blame algorithm fails to notice that the implementation of foo() at the top of the file is not new, and moved from the lower part of the parent. This commit introduces detection of such line movements, and correctly blames the lines that were simply moved in the file to the parent. Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'builtin-diff-index.c')
0 files changed, 0 insertions, 0 deletions