[PATCH] Add -O<orderfile> option to diff-* brothers.
A new diffcore filter diffcore-order is introduced. This takes a text file each of whose line is a shell glob pattern. Patches that match a glob pattern on an earlier line in the file are output before patches that match a later line, and patches that do not match any glob pattern are output last. A typical orderfile for git project probably should look like this: README Makefile Documentation *.h *.c Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:

committed by
Linus Torvalds

parent
2036d84102
commit
af5323e027
@ -10,6 +10,7 @@ static int diff_score_opt = 0;
|
||||
static const char *pickaxe = NULL;
|
||||
static int pickaxe_opts = 0;
|
||||
static int diff_break_opt = -1;
|
||||
static const char *orderfile = NULL;
|
||||
|
||||
/* A file entry went away or appeared */
|
||||
static void show_file(const char *prefix, struct cache_entry *ce, unsigned char *sha1, unsigned int mode)
|
||||
@ -215,6 +216,10 @@ int main(int argc, const char **argv)
|
||||
pickaxe = arg + 2;
|
||||
continue;
|
||||
}
|
||||
if (!strncmp(arg, "-O", 2)) {
|
||||
orderfile = arg + 2;
|
||||
continue;
|
||||
}
|
||||
if (!strcmp(arg, "--pickaxe-all")) {
|
||||
pickaxe_opts = DIFF_PICKAXE_ALL;
|
||||
continue;
|
||||
@ -249,7 +254,8 @@ int main(int argc, const char **argv)
|
||||
diffcore_std(pathspec ? : NULL,
|
||||
detect_rename, diff_score_opt,
|
||||
pickaxe, pickaxe_opts,
|
||||
diff_break_opt);
|
||||
diff_break_opt,
|
||||
orderfile);
|
||||
diff_flush(diff_output_format, 1);
|
||||
return ret;
|
||||
}
|
||||
|
Reference in New Issue
Block a user