[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

@ -8,6 +8,7 @@ static int detect_rename = 0;
static int diff_setup_opt = 0;
static int diff_score_opt = 0;
static const char *pickaxe = NULL;
static int pickaxe_opts = 0;
/* A file entry went away or appeared */
static void show_file(const char *prefix, struct cache_entry *ce, unsigned char *sha1, unsigned int mode)
@ -209,6 +210,10 @@ int main(int argc, const char **argv)
pickaxe = arg + 2;
continue;
}
if (!strcmp(arg, "--pickaxe-all")) {
pickaxe_opts = DIFF_PICKAXE_ALL;
continue;
}
if (!strcmp(arg, "-m")) {
match_nonexisting = 1;
continue;
@ -238,7 +243,7 @@ int main(int argc, const char **argv)
if (detect_rename)
diffcore_rename(detect_rename, diff_score_opt);
if (pickaxe)
diffcore_pickaxe(pickaxe);
diffcore_pickaxe(pickaxe, pickaxe_opts);
if (pathspec)
diffcore_pathspec(pathspec);
diff_flush(diff_output_format, 1);