Skip to content

Commit

Permalink
diff: get rid of redundant 'dense' argument
Browse files Browse the repository at this point in the history
Get rid of 'dense' argument that is redundant for every function that has
'struct rev_info *rev' argument as well, as the value of 'dense' passed is
always taken from 'rev->dense_combined_merges' field.

The only place where this was not the case is in 'submodule.c' where
'diff_tree_combined_merge()' was called with '1' for 'dense' argument. However,
at that call the 'revs' instance used is local to the function, and we now just
set 'revs->dense_combined_merges' to 1 in this local instance.

Signed-off-by: Sergey Organov <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
  • Loading branch information
sorganov authored and gitster committed Sep 29, 2020
1 parent 47ae905 commit d01141d
Show file tree
Hide file tree
Showing 6 changed files with 18 additions and 23 deletions.
3 changes: 1 addition & 2 deletions builtin/diff.c
Original file line number Diff line number Diff line change
Expand Up @@ -203,8 +203,7 @@ static int builtin_diff_combined(struct rev_info *revs,
revs->dense_combined_merges = revs->combine_merges = 1;
for (i = 1; i < ents; i++)
oid_array_append(&parents, &ent[i].item->oid);
diff_tree_combined(&ent[0].item->oid, &parents,
revs->dense_combined_merges, revs);
diff_tree_combined(&ent[0].item->oid, &parents, revs);
oid_array_clear(&parents);
return 0;
}
Expand Down
21 changes: 9 additions & 12 deletions combine-diff.c
Original file line number Diff line number Diff line change
Expand Up @@ -923,7 +923,6 @@ static void dump_quoted_path(const char *head,

static void show_combined_header(struct combine_diff_path *elem,
int num_parent,
int dense,
struct rev_info *rev,
const char *line_prefix,
int mode_differs,
Expand All @@ -939,6 +938,7 @@ static void show_combined_header(struct combine_diff_path *elem,
int added = 0;
int deleted = 0;
int i;
int dense = rev->dense_combined_merges;

if (rev->loginfo && !rev->no_commit_id)
show_log(rev);
Expand Down Expand Up @@ -1012,7 +1012,7 @@ static void show_combined_header(struct combine_diff_path *elem,
}

static void show_patch_diff(struct combine_diff_path *elem, int num_parent,
int dense, int working_tree_file,
int working_tree_file,
struct rev_info *rev)
{
struct diff_options *opt = &rev->diffopt;
Expand Down Expand Up @@ -1145,7 +1145,7 @@ static void show_patch_diff(struct combine_diff_path *elem, int num_parent,
}
}
if (is_binary) {
show_combined_header(elem, num_parent, dense, rev,
show_combined_header(elem, num_parent, rev,
line_prefix, mode_differs, 0);
printf("Binary files differ\n");
free(result);
Expand Down Expand Up @@ -1200,10 +1200,10 @@ static void show_patch_diff(struct combine_diff_path *elem, int num_parent,
textconv, elem->path, opt->xdl_opts);
}

show_hunks = make_hunks(sline, cnt, num_parent, dense);
show_hunks = make_hunks(sline, cnt, num_parent, rev->dense_combined_merges);

if (show_hunks || mode_differs || working_tree_file) {
show_combined_header(elem, num_parent, dense, rev,
show_combined_header(elem, num_parent, rev,
line_prefix, mode_differs, 1);
dump_sline(sline, line_prefix, cnt, num_parent,
opt->use_color, result_deleted);
Expand Down Expand Up @@ -1284,7 +1284,6 @@ static void show_raw_diff(struct combine_diff_path *p, int num_parent, struct re
*/
void show_combined_diff(struct combine_diff_path *p,
int num_parent,
int dense,
struct rev_info *rev)
{
struct diff_options *opt = &rev->diffopt;
Expand All @@ -1294,7 +1293,7 @@ void show_combined_diff(struct combine_diff_path *p,
DIFF_FORMAT_NAME_STATUS))
show_raw_diff(p, num_parent, rev);
else if (opt->output_format & DIFF_FORMAT_PATCH)
show_patch_diff(p, num_parent, dense, 1, rev);
show_patch_diff(p, num_parent, 1, rev);
}

static void free_combined_pair(struct diff_filepair *pair)
Expand Down Expand Up @@ -1454,7 +1453,6 @@ static struct combine_diff_path *find_paths_multitree(

void diff_tree_combined(const struct object_id *oid,
const struct oid_array *parents,
int dense,
struct rev_info *rev)
{
struct diff_options *opt = &rev->diffopt;
Expand Down Expand Up @@ -1581,8 +1579,7 @@ void diff_tree_combined(const struct object_id *oid,
printf("%s%c", diff_line_prefix(opt),
opt->line_termination);
for (p = paths; p; p = p->next)
show_patch_diff(p, num_parent, dense,
0, rev);
show_patch_diff(p, num_parent, 0, rev);
}
}

Expand All @@ -1600,7 +1597,7 @@ void diff_tree_combined(const struct object_id *oid,
clear_pathspec(&diffopts.pathspec);
}

void diff_tree_combined_merge(const struct commit *commit, int dense,
void diff_tree_combined_merge(const struct commit *commit,
struct rev_info *rev)
{
struct commit_list *parent = get_saved_parents(rev, commit);
Expand All @@ -1610,6 +1607,6 @@ void diff_tree_combined_merge(const struct commit *commit, int dense,
oid_array_append(&parents, &parent->item->object.oid);
parent = parent->next;
}
diff_tree_combined(&commit->object.oid, &parents, dense, rev);
diff_tree_combined(&commit->object.oid, &parents, rev);
oid_array_clear(&parents);
}
6 changes: 2 additions & 4 deletions diff-lib.c
Original file line number Diff line number Diff line change
Expand Up @@ -177,9 +177,7 @@ int run_diff_files(struct rev_info *revs, unsigned int option)
i--;

if (revs->combine_merges && num_compare_stages == 2) {
show_combined_diff(dpath, 2,
revs->dense_combined_merges,
revs);
show_combined_diff(dpath, 2, revs);
free(dpath);
continue;
}
Expand Down Expand Up @@ -360,7 +358,7 @@ static int show_modified(struct rev_info *revs,
p->parent[1].status = DIFF_STATUS_MODIFIED;
p->parent[1].mode = old_entry->ce_mode;
oidcpy(&p->parent[1].oid, &old_entry->oid);
show_combined_diff(p, 2, revs->dense_combined_merges, revs);
show_combined_diff(p, 2, revs);
free(p);
return 0;
}
Expand Down
6 changes: 3 additions & 3 deletions diff.h
Original file line number Diff line number Diff line change
Expand Up @@ -454,11 +454,11 @@ struct combine_diff_path {
st_mult(sizeof(struct combine_diff_parent), (n)))

void show_combined_diff(struct combine_diff_path *elem, int num_parent,
int dense, struct rev_info *);
struct rev_info *);

void diff_tree_combined(const struct object_id *oid, const struct oid_array *parents, int dense, struct rev_info *rev);
void diff_tree_combined(const struct object_id *oid, const struct oid_array *parents, struct rev_info *rev);

void diff_tree_combined_merge(const struct commit *commit, int dense, struct rev_info *rev);
void diff_tree_combined_merge(const struct commit *commit, struct rev_info *rev);

void diff_set_mnemonic_prefix(struct diff_options *options, const char *a, const char *b);

Expand Down
2 changes: 1 addition & 1 deletion log-tree.c
Original file line number Diff line number Diff line change
Expand Up @@ -885,7 +885,7 @@ int log_tree_diff_flush(struct rev_info *opt)

static int do_diff_combined(struct rev_info *opt, struct commit *commit)
{
diff_tree_combined_merge(commit, opt->dense_combined_merges, opt);
diff_tree_combined_merge(commit, opt);
return !opt->loginfo;
}

Expand Down
3 changes: 2 additions & 1 deletion submodule.c
Original file line number Diff line number Diff line change
Expand Up @@ -857,7 +857,8 @@ static void collect_changed_submodules(struct repository *r,
diff_rev.diffopt.output_format |= DIFF_FORMAT_CALLBACK;
diff_rev.diffopt.format_callback = collect_changed_submodules_cb;
diff_rev.diffopt.format_callback_data = &data;
diff_tree_combined_merge(commit, 1, &diff_rev);
diff_rev.dense_combined_merges = 1;
diff_tree_combined_merge(commit, &diff_rev);
}

reset_revision_walk();
Expand Down

0 comments on commit d01141d

Please sign in to comment.