Code

[PATCH] Introducing software archaeologist's tool "pickaxe".
authorJunio C Hamano <junkio@cox.net>
Sat, 21 May 2005 09:40:01 +0000 (02:40 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Sat, 21 May 2005 16:58:03 +0000 (09:58 -0700)
commit52e9578985fb636ec1d3f6cf794fdadd5ec896fc
treebb22f522116f5d8e6ae677b7a4660e959c052fc2
parent427dcb4bca49117664d9428fd4e86483f516d703
[PATCH] Introducing software archaeologist's tool "pickaxe".

This steals the "pickaxe" feature from JIT and make it available
to the bare Plumbing layer.  From the command line, the user
gives a string he is intersted in.

Using the diff-core infrastructure previously introduced, it
filters the differences to limit the output only to the diffs
between <src> and <dst> where the string appears only in one but
not in the other.  For example:

 $ ./git-rev-list HEAD | ./git-diff-tree -Sdiff-tree-helper --stdin -M

would show the diffs that touch the string "diff-tree-helper".

In real software-archaeologist application, you would typically
look for a few to several lines of code and see where that code
came from.

The "pickaxe" module runs after "rename/copy detection" module,
so it even crosses the file rename boundary, as the above
example demonstrates.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
14 files changed:
Documentation/git-diff-cache.txt
Documentation/git-diff-files.txt
Documentation/git-diff-helper.txt
Documentation/git-diff-tree.txt
Makefile
diff-cache.c
diff-files.c
diff-helper.c
diff-tree.c
diff.c
diff.h
diffcore-pickaxe.c [new file with mode: 0644]
diffcore-rename.c
diffcore.h