[PATCH] Add --pickaxe-all to diff-* brothers.

When --pickaxe-all is given in addition to -S, pickaxe shows the
entire diffs contained in the changeset, not just the diffs for
the filepair that touched the sought-after string.  This is
useful to see the changes in context.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Junio C Hamano
2005-05-27 15:55:28 -07:00
committed by Linus Torvalds
parent be020332a1
commit 367cec1c02
6 changed files with 82 additions and 27 deletions

View File

@ -6,6 +6,7 @@
#include "diff.h"
static const char *pickaxe = NULL;
static int pickaxe_opts = 0;
static int line_termination = '\n';
static int inter_name_termination = '\t';
@ -23,6 +24,8 @@ int main(int ac, const char **av) {
else if (av[1][1] == 'S') {
pickaxe = av[1] + 2;
}
else if (!strcmp(av[1], "--pickaxe-all"))
pickaxe_opts = DIFF_PICKAXE_ALL;
else
usage(diff_helper_usage);
ac--; av++;
@ -127,14 +130,14 @@ int main(int ac, const char **av) {
continue;
}
if (pickaxe)
diffcore_pickaxe(pickaxe);
diffcore_pickaxe(pickaxe, pickaxe_opts);
if (1 < ac)
diffcore_pathspec(av + 1);
diff_flush(DIFF_FORMAT_PATCH, 0);
printf("%s\n", sb.buf);
}
if (pickaxe)
diffcore_pickaxe(pickaxe);
diffcore_pickaxe(pickaxe, pickaxe_opts);
if (1 < ac)
diffcore_pathspec(av + 1);
diff_flush(DIFF_FORMAT_PATCH, 0);