author | Junio C Hamano <junkio@cox.net> | |
Sat, 21 May 2005 09:40:01 +0000 (02:40 -0700) | ||
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | |
Sat, 21 May 2005 16:58:03 +0000 (09:58 -0700) | ||
commit | 52e9578985fb636ec1d3f6cf794fdadd5ec896fc | |
tree | bb22f522116f5d8e6ae677b7a4660e959c052fc2 | tree | snapshot |
parent | 427dcb4bca49117664d9428fd4e86483f516d703 | commit | diff |
[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>
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 | diff | blob | history | |
Documentation/git-diff-files.txt | diff | blob | history | |
Documentation/git-diff-helper.txt | diff | blob | history | |
Documentation/git-diff-tree.txt | diff | blob | history | |
Makefile | diff | blob | history | |
diff-cache.c | diff | blob | history | |
diff-files.c | diff | blob | history | |
diff-helper.c | diff | blob | history | |
diff-tree.c | diff | blob | history | |
diff.c | diff | blob | history | |
diff.h | diff | blob | history | |
diffcore-pickaxe.c | [new file with mode: 0644] | blob |
diffcore-rename.c | diff | blob | history | |
diffcore.h | diff | blob | history |