@@ -10,12 +10,43 @@ static void suppress(struct rev_info *revs)
10
10
revs -> dense_combined_merges = 0 ;
11
11
}
12
12
13
+ static void set_separate (struct rev_info * revs )
14
+ {
15
+ suppress (revs );
16
+ revs -> separate_merges = 1 ;
17
+ }
18
+
19
+ static void set_m (struct rev_info * revs )
20
+ {
21
+ /*
22
+ * To "diff-index", "-m" means "match missing", and to the "log"
23
+ * family of commands, it means "show full diff for merges". Set
24
+ * both fields appropriately.
25
+ */
26
+ set_separate (revs );
27
+ revs -> match_missing = 1 ;
28
+ }
29
+
30
+ static void set_combined (struct rev_info * revs )
31
+ {
32
+ revs -> combine_merges = 1 ;
33
+ revs -> dense_combined_merges = 0 ;
34
+ }
35
+
13
36
static void set_dense_combined (struct rev_info * revs )
14
37
{
15
38
revs -> combine_merges = 1 ;
16
39
revs -> dense_combined_merges = 1 ;
17
40
}
18
41
42
+ static void set_diff_merges (struct rev_info * revs , const char * optarg )
43
+ {
44
+ if (!strcmp (optarg , "off" )) {
45
+ suppress (revs );
46
+ } else {
47
+ die (_ ("unknown value for --diff-merges: %s" ), optarg );
48
+ }
49
+ }
19
50
20
51
/*
21
52
* Public functions. They are in the order they are called.
@@ -27,31 +58,19 @@ int diff_merges_parse_opts(struct rev_info *revs, const char **argv)
27
58
const char * optarg ;
28
59
const char * arg = argv [0 ];
29
60
30
- if (!strcmp (arg , "-m" )) {
31
- suppress (revs );
32
- /*
33
- * To "diff-index", "-m" means "match missing", and to the "log"
34
- * family of commands, it means "show full diff for merges". Set
35
- * both fields appropriately.
36
- */
37
- revs -> separate_merges = 1 ;
38
- revs -> match_missing = 1 ;
39
- } else if (!strcmp (arg , "-c" )) {
40
- revs -> dense_combined_merges = 0 ;
41
- revs -> combine_merges = 1 ;
42
- } else if (!strcmp (arg , "--cc" )) {
61
+ if (!strcmp (arg , "-m" ))
62
+ set_m (revs );
63
+ else if (!strcmp (arg , "-c" ))
64
+ set_combined (revs );
65
+ else if (!strcmp (arg , "--cc" ))
43
66
set_dense_combined (revs );
44
- } else if (!strcmp (arg , "--no-diff-merges" )) {
67
+ else if (!strcmp (arg , "--no-diff-merges" ))
45
68
suppress (revs );
46
- } else if (!strcmp (arg , "--combined-all-paths" )) {
69
+ else if (!strcmp (arg , "--combined-all-paths" ))
47
70
revs -> combined_all_paths = 1 ;
48
- } else if ((argcount = parse_long_opt ("diff-merges" , argv , & optarg ))) {
49
- if (!strcmp (optarg , "off" )) {
50
- suppress (revs );
51
- } else {
52
- die (_ ("unknown value for --diff-merges: %s" ), optarg );
53
- }
54
- } else
71
+ else if ((argcount = parse_long_opt ("diff-merges" , argv , & optarg )))
72
+ set_diff_merges (revs , optarg );
73
+ else
55
74
return 0 ;
56
75
57
76
revs -> explicit_diff_merges = 1 ;
0 commit comments