summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-05-27 22:54:37 (GMT)
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-05-29 18:17:43 (GMT)
commit19feebc8c3ca7bd40f2f32f4f856b68b9a02870c (patch)
treee536ae939c90a8ce9c1278f6134ce5b6d1a72774
parent09d9d1a648ecff1dd914224b3ee616b0486ec525 (diff)
downloadgit-19feebc8c3ca7bd40f2f32f4f856b68b9a02870c.zip
git-19feebc8c3ca7bd40f2f32f4f856b68b9a02870c.tar.gz
git-19feebc8c3ca7bd40f2f32f4f856b68b9a02870c.tar.bz2
[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>
-rw-r--r--diff-cache.c6
-rw-r--r--diff-files.c6
-rw-r--r--diff-tree.c6
-rw-r--r--diff.c5
-rw-r--r--diff.h12
5 files changed, 19 insertions, 16 deletions
diff --git a/diff-cache.c b/diff-cache.c
index d573459..963c628 100644
--- a/diff-cache.c
+++ b/diff-cache.c
@@ -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();
diff --git a/diff-files.c b/diff-files.c
index d7cfad7..c9c914b 100644
--- a/diff-files.c
+++ b/diff-files.c
@@ -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;
diff --git a/diff-tree.c b/diff-tree.c
index 80d02b4..c41cdd0 100644
--- a/diff-tree.c
+++ b/diff-tree.c
@@ -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")) {
diff --git a/diff.c b/diff.c
index f15eb08..a116755 100644
--- a/diff.c
+++ b/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;
diff --git a/diff.h b/diff.h
index 0d1f9ae..6c25023 100644
--- a/diff.h
+++ b/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 */