[PATCH] Clean up diff_setup() to make it more extensible.

This changes the argument of diff_setup() from an integer that
says if we are feeding reversed diff to a bitmask, so that later
global options can be added more easily.

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:54:37 -07:00 коммит произвёл Linus Torvalds
Родитель 09d9d1a648
Коммит 19feebc8c3
5 изменённых файлов: 19 добавлений и 16 удалений

Просмотреть файл

@ -5,7 +5,7 @@ static int cached_only = 0;
static int diff_output_format = DIFF_FORMAT_HUMAN;
static int match_nonexisting = 0;
static int detect_rename = 0;
static int reverse_diff = 0;
static int diff_setup_opt = 0;
static int diff_score_opt = 0;
static const char *pickaxe = NULL;
@ -202,7 +202,7 @@ int main(int argc, const char **argv)
continue;
}
if (!strcmp(arg, "-R")) {
reverse_diff = 1;
diff_setup_opt |= DIFF_SETUP_REVERSE;
continue;
}
if (!strcmp(arg, "-S")) {
@ -224,7 +224,7 @@ int main(int argc, const char **argv)
usage(diff_cache_usage);
/* The rest is for paths restriction. */
diff_setup(reverse_diff);
diff_setup(diff_setup_opt);
mark_merge_entries();

Просмотреть файл

@ -11,7 +11,7 @@ static const char *diff_files_usage =
static int diff_output_format = DIFF_FORMAT_HUMAN;
static int detect_rename = 0;
static int reverse_diff = 0;
static int diff_setup_opt = 0;
static int diff_score_opt = 0;
static const char *pickaxe = NULL;
static int silent = 0;
@ -51,7 +51,7 @@ int main(int argc, const char **argv)
else if (!strcmp(argv[1], "-z"))
diff_output_format = DIFF_FORMAT_MACHINE;
else if (!strcmp(argv[1], "-R"))
reverse_diff = 1;
diff_setup_opt |= DIFF_SETUP_REVERSE;
else if (!strcmp(argv[1], "-S"))
pickaxe = argv[1] + 2;
else if (!strncmp(argv[1], "-M", 2)) {
@ -75,7 +75,7 @@ int main(int argc, const char **argv)
exit(1);
}
diff_setup(reverse_diff);
diff_setup(diff_setup_opt);
for (i = 0; i < entries; i++) {
struct stat st;

Просмотреть файл

@ -10,7 +10,7 @@ static int show_tree_entry_in_recursive = 0;
static int read_stdin = 0;
static int diff_output_format = DIFF_FORMAT_HUMAN;
static int detect_rename = 0;
static int reverse_diff = 0;
static int diff_setup_opt = 0;
static int diff_score_opt = 0;
static const char *pickaxe = NULL;
static const char *header = NULL;
@ -255,7 +255,7 @@ static int diff_tree_sha1(const unsigned char *old, const unsigned char *new, co
static void call_diff_setup(void)
{
diff_setup(reverse_diff);
diff_setup(diff_setup_opt);
}
static int call_diff_flush(void)
@ -497,7 +497,7 @@ int main(int argc, const char **argv)
continue;
}
if (!strcmp(arg, "-R")) {
reverse_diff = 1;
diff_setup_opt |= DIFF_SETUP_REVERSE;
continue;
}
if (!strcmp(arg, "-p")) {

5
diff.c
Просмотреть файл

@ -492,9 +492,10 @@ static void run_diff(const char *name,
run_external_diff(pgm, name, other, one, two, xfrm_msg);
}
void diff_setup(int reverse_diff_)
void diff_setup(int flags)
{
reverse_diff = reverse_diff_;
if (flags & DIFF_SETUP_REVERSE)
reverse_diff = 1;
}
struct diff_queue_struct diff_queued_diff;

12
diff.h
Просмотреть файл

@ -28,11 +28,8 @@ extern void diff_unmerge(const char *path);
extern int diff_scoreopt_parse(const char *opt);
#define DIFF_FORMAT_HUMAN 0
#define DIFF_FORMAT_MACHINE 1
#define DIFF_FORMAT_PATCH 2
#define DIFF_FORMAT_NO_OUTPUT 3
extern void diff_setup(int reverse);
#define DIFF_SETUP_REVERSE 1
extern void diff_setup(int flags);
#define DIFF_DETECT_RENAME 1
#define DIFF_DETECT_COPY 2
@ -44,6 +41,11 @@ extern void diffcore_pathspec(const char **pathspec);
extern int diff_queue_is_empty(void);
#define DIFF_FORMAT_HUMAN 0
#define DIFF_FORMAT_MACHINE 1
#define DIFF_FORMAT_PATCH 2
#define DIFF_FORMAT_NO_OUTPUT 3
extern void diff_flush(int output_style, int resolve_rename_copy);
#endif /* DIFF_H */