[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:
Junio C Hamano
2005-05-30 00:09:07 -07:00
committed by Linus Torvalds
parent 2036d84102
commit af5323e027
10 changed files with 167 additions and 10 deletions

View File

@ -15,6 +15,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;
static const char *header = NULL;
static const char *header_prefix = "";
@ -265,7 +266,8 @@ static int call_diff_flush(void)
diffcore_std(0,
detect_rename, diff_score_opt,
pickaxe, pickaxe_opts,
diff_break_opt);
diff_break_opt,
orderfile);
if (diff_queue_is_empty()) {
diff_flush(DIFF_FORMAT_NO_OUTPUT, 0);
return 0;
@ -511,6 +513,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;