Skip to content

Commit

Permalink
[PATCH] Clean up diff_setup() to make it more extensible.
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Junio C Hamano authored and Linus Torvalds committed May 29, 2005
1 parent 09d9d1a commit 19feebc
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 16 deletions.
6 changes: 3 additions & 3 deletions diff-cache.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down Expand Up @@ -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")) {
Expand All @@ -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();

Expand Down
6 changes: 3 additions & 3 deletions diff-files.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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)) {
Expand All @@ -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;
Expand Down
6 changes: 3 additions & 3 deletions diff-tree.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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")) {
Expand Down
5 changes: 3 additions & 2 deletions diff.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
12 changes: 7 additions & 5 deletions diff.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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 */

0 comments on commit 19feebc

Please sign in to comment.