[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:

committed by
Linus Torvalds

parent
09d9d1a648
commit
19feebc8c3
@ -5,7 +5,7 @@ static int cached_only = 0;
|
|||||||
static int diff_output_format = DIFF_FORMAT_HUMAN;
|
static int diff_output_format = DIFF_FORMAT_HUMAN;
|
||||||
static int match_nonexisting = 0;
|
static int match_nonexisting = 0;
|
||||||
static int detect_rename = 0;
|
static int detect_rename = 0;
|
||||||
static int reverse_diff = 0;
|
static int diff_setup_opt = 0;
|
||||||
static int diff_score_opt = 0;
|
static int diff_score_opt = 0;
|
||||||
static const char *pickaxe = NULL;
|
static const char *pickaxe = NULL;
|
||||||
|
|
||||||
@ -202,7 +202,7 @@ int main(int argc, const char **argv)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (!strcmp(arg, "-R")) {
|
if (!strcmp(arg, "-R")) {
|
||||||
reverse_diff = 1;
|
diff_setup_opt |= DIFF_SETUP_REVERSE;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (!strcmp(arg, "-S")) {
|
if (!strcmp(arg, "-S")) {
|
||||||
@ -224,7 +224,7 @@ int main(int argc, const char **argv)
|
|||||||
usage(diff_cache_usage);
|
usage(diff_cache_usage);
|
||||||
|
|
||||||
/* The rest is for paths restriction. */
|
/* The rest is for paths restriction. */
|
||||||
diff_setup(reverse_diff);
|
diff_setup(diff_setup_opt);
|
||||||
|
|
||||||
mark_merge_entries();
|
mark_merge_entries();
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ static const char *diff_files_usage =
|
|||||||
|
|
||||||
static int diff_output_format = DIFF_FORMAT_HUMAN;
|
static int diff_output_format = DIFF_FORMAT_HUMAN;
|
||||||
static int detect_rename = 0;
|
static int detect_rename = 0;
|
||||||
static int reverse_diff = 0;
|
static int diff_setup_opt = 0;
|
||||||
static int diff_score_opt = 0;
|
static int diff_score_opt = 0;
|
||||||
static const char *pickaxe = NULL;
|
static const char *pickaxe = NULL;
|
||||||
static int silent = 0;
|
static int silent = 0;
|
||||||
@ -51,7 +51,7 @@ int main(int argc, const char **argv)
|
|||||||
else if (!strcmp(argv[1], "-z"))
|
else if (!strcmp(argv[1], "-z"))
|
||||||
diff_output_format = DIFF_FORMAT_MACHINE;
|
diff_output_format = DIFF_FORMAT_MACHINE;
|
||||||
else if (!strcmp(argv[1], "-R"))
|
else if (!strcmp(argv[1], "-R"))
|
||||||
reverse_diff = 1;
|
diff_setup_opt |= DIFF_SETUP_REVERSE;
|
||||||
else if (!strcmp(argv[1], "-S"))
|
else if (!strcmp(argv[1], "-S"))
|
||||||
pickaxe = argv[1] + 2;
|
pickaxe = argv[1] + 2;
|
||||||
else if (!strncmp(argv[1], "-M", 2)) {
|
else if (!strncmp(argv[1], "-M", 2)) {
|
||||||
@ -75,7 +75,7 @@ int main(int argc, const char **argv)
|
|||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
diff_setup(reverse_diff);
|
diff_setup(diff_setup_opt);
|
||||||
|
|
||||||
for (i = 0; i < entries; i++) {
|
for (i = 0; i < entries; i++) {
|
||||||
struct stat st;
|
struct stat st;
|
||||||
|
@ -10,7 +10,7 @@ static int show_tree_entry_in_recursive = 0;
|
|||||||
static int read_stdin = 0;
|
static int read_stdin = 0;
|
||||||
static int diff_output_format = DIFF_FORMAT_HUMAN;
|
static int diff_output_format = DIFF_FORMAT_HUMAN;
|
||||||
static int detect_rename = 0;
|
static int detect_rename = 0;
|
||||||
static int reverse_diff = 0;
|
static int diff_setup_opt = 0;
|
||||||
static int diff_score_opt = 0;
|
static int diff_score_opt = 0;
|
||||||
static const char *pickaxe = NULL;
|
static const char *pickaxe = NULL;
|
||||||
static const char *header = 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)
|
static void call_diff_setup(void)
|
||||||
{
|
{
|
||||||
diff_setup(reverse_diff);
|
diff_setup(diff_setup_opt);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int call_diff_flush(void)
|
static int call_diff_flush(void)
|
||||||
@ -497,7 +497,7 @@ int main(int argc, const char **argv)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (!strcmp(arg, "-R")) {
|
if (!strcmp(arg, "-R")) {
|
||||||
reverse_diff = 1;
|
diff_setup_opt |= DIFF_SETUP_REVERSE;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (!strcmp(arg, "-p")) {
|
if (!strcmp(arg, "-p")) {
|
||||||
|
5
diff.c
5
diff.c
@ -492,9 +492,10 @@ static void run_diff(const char *name,
|
|||||||
run_external_diff(pgm, name, other, one, two, xfrm_msg);
|
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;
|
struct diff_queue_struct diff_queued_diff;
|
||||||
|
12
diff.h
12
diff.h
@ -28,11 +28,8 @@ extern void diff_unmerge(const char *path);
|
|||||||
|
|
||||||
extern int diff_scoreopt_parse(const char *opt);
|
extern int diff_scoreopt_parse(const char *opt);
|
||||||
|
|
||||||
#define DIFF_FORMAT_HUMAN 0
|
#define DIFF_SETUP_REVERSE 1
|
||||||
#define DIFF_FORMAT_MACHINE 1
|
extern void diff_setup(int flags);
|
||||||
#define DIFF_FORMAT_PATCH 2
|
|
||||||
#define DIFF_FORMAT_NO_OUTPUT 3
|
|
||||||
extern void diff_setup(int reverse);
|
|
||||||
|
|
||||||
#define DIFF_DETECT_RENAME 1
|
#define DIFF_DETECT_RENAME 1
|
||||||
#define DIFF_DETECT_COPY 2
|
#define DIFF_DETECT_COPY 2
|
||||||
@ -44,6 +41,11 @@ extern void diffcore_pathspec(const char **pathspec);
|
|||||||
|
|
||||||
extern int diff_queue_is_empty(void);
|
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);
|
extern void diff_flush(int output_style, int resolve_rename_copy);
|
||||||
|
|
||||||
#endif /* DIFF_H */
|
#endif /* DIFF_H */
|
||||||
|
Reference in New Issue
Block a user