Skip to content

Commit

Permalink
Merge branch 'so/combine-diff-simplify'
Browse files Browse the repository at this point in the history
Code simplification.

* so/combine-diff-simplify:
  diff: get rid of redundant 'dense' argument
  • Loading branch information
gitster committed Oct 5, 2020
2 parents 58138d3 + d01141d commit 34415c7
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 @@ -361,7 +359,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 @@ -452,11 +452,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 @@ -865,7 +865,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 34415c7

Please sign in to comment.