@matheusbsbs / matheus-bagliano / commits / 0ee3cb888d
Fork 0

diff.h: drop diff_tree_oid() & friends' return value

ll_diff_tree_oid() has only ever returned 0 [1], so it's return value is basically useless. It's only caller diff_tree_oid() has only ever returned the return value of ll_diff_tree_oid() as-is [2], so its return value is just as useless. Most of diff_tree_oid()'s callers simply ignore its return value, except: - diff_root_tree_oid() is a thin wrapper around diff_tree_oid() and returns with its return value, but all of diff_root_tree_oid()'s callers ignore its return value. - rev_compare_tree() and rev_same_tree_as_empty() do look at the return value in a condition, but, since the return value is always 0, the former's < 0 condition is never fulfilled, while the latter's >= 0 condition is always fulfilled. So let's drop the return value of ll_diff_tree_oid(), diff_tree_oid() and diff_root_tree_oid(), and drop those conditions from rev_compare_tree() and rev_same_tree_as_empty() as well. [1] ll_diff_tree_oid() and its ancestors have been returning only 0 ever since it was introduced as diff_tree() in 9174026cfe (Add "diff-tree" program to show which files have changed between two trees., 2005-04-09). [2] diff_tree_oid() traces back to diff-tree.c:main() in 9174026cfe as well. Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

SZEDER Gábor committed Jun 5, 2020 at 13:00 UTC 0ee3cb888dc4da900b2e701ef8106205d8963ffb
3 files changed +22 -27
diff.h
+5 -5
@@ -431,11 +431,11 @@ struct combine_diff_path *diff_tree_paths(
431 struct combine_diff_path *p, const struct object_id *oid,
432 const struct object_id **parents_oid, int nparent,
433 struct strbuf *base, struct diff_options *opt);
434 -int diff_tree_oid(const struct object_id *old_oid,
435 - const struct object_id *new_oid,
436 - const char *base, struct diff_options *opt);
437 -int diff_root_tree_oid(const struct object_id *new_oid, const char *base,
438 - struct diff_options *opt);
434 +void diff_tree_oid(const struct object_id *old_oid,
435 + const struct object_id *new_oid,
436 + const char *base, struct diff_options *opt);
437 +void diff_root_tree_oid(const struct object_id *new_oid, const char *base,
438 + struct diff_options *opt);
439
440 struct combine_diff_path {
441 struct combine_diff_path *next;
revision.c
+3 -6
@@ -791,9 +791,7 @@ static int rev_compare_tree(struct rev_info *revs,
791
792 tree_difference = REV_TREE_SAME;
793 revs->pruning.flags.has_changes = 0;
794 - if (diff_tree_oid(&t1->object.oid, &t2->object.oid, "",
795 - &revs->pruning) < 0)
796 - return REV_TREE_DIFFERENT;
794 + diff_tree_oid(&t1->object.oid, &t2->object.oid, "", &revs->pruning);
795
796 if (!nth_parent)
797 if (bloom_ret == 1 && tree_difference == REV_TREE_SAME)
@@ -804,7 +802,6 @@ static int rev_compare_tree(struct rev_info *revs,
802
803 static int rev_same_tree_as_empty(struct rev_info *revs, struct commit *commit)
804 {
807 - int retval;
805 struct tree *t1 = get_commit_tree(commit);
806
807 if (!t1)
@@ -812,9 +809,9 @@ static int rev_same_tree_as_empty(struct rev_info *revs, struct commit *commit)
809
810 tree_difference = REV_TREE_SAME;
811 revs->pruning.flags.has_changes = 0;
815 - retval = diff_tree_oid(NULL, &t1->object.oid, "", &revs->pruning);
812 + diff_tree_oid(NULL, &t1->object.oid, "", &revs->pruning);
813
817 - return retval >= 0 && (tree_difference == REV_TREE_SAME);
814 + return tree_difference == REV_TREE_SAME;
815 }
816
817 struct treesame_state {
tree-diff.c
+14 -16
@@ -29,9 +29,9 @@ static struct combine_diff_path *ll_diff_tree_paths(
29 struct combine_diff_path *p, const struct object_id *oid,
30 const struct object_id **parents_oid, int nparent,
31 struct strbuf *base, struct diff_options *opt);
32 -static int ll_diff_tree_oid(const struct object_id *old_oid,
33 - const struct object_id *new_oid,
34 - struct strbuf *base, struct diff_options *opt);
32 +static void ll_diff_tree_oid(const struct object_id *old_oid,
33 + const struct object_id *new_oid,
34 + struct strbuf *base, struct diff_options *opt);
35
36 /*
37 * Compare two tree entries, taking into account only path/S_ISDIR(mode),
@@ -679,9 +679,9 @@ static void try_to_follow_renames(const struct object_id *old_oid,
679 q->nr = 1;
680 }
681
682 -static int ll_diff_tree_oid(const struct object_id *old_oid,
683 - const struct object_id *new_oid,
684 - struct strbuf *base, struct diff_options *opt)
682 +static void ll_diff_tree_oid(const struct object_id *old_oid,
683 + const struct object_id *new_oid,
684 + struct strbuf *base, struct diff_options *opt)
685 {
686 struct combine_diff_path phead, *p;
687 pathchange_fn_t pathchange_old = opt->pathchange;
@@ -697,29 +697,27 @@ static int ll_diff_tree_oid(const struct object_id *old_oid,
697 }
698
699 opt->pathchange = pathchange_old;
700 - return 0;
700 }
701
703 -int diff_tree_oid(const struct object_id *old_oid,
704 - const struct object_id *new_oid,
705 - const char *base_str, struct diff_options *opt)
702 +void diff_tree_oid(const struct object_id *old_oid,
703 + const struct object_id *new_oid,
704 + const char *base_str, struct diff_options *opt)
705 {
706 struct strbuf base;
708 - int retval;
707
708 strbuf_init(&base, PATH_MAX);
709 strbuf_addstr(&base, base_str);
710
713 - retval = ll_diff_tree_oid(old_oid, new_oid, &base, opt);
711 + ll_diff_tree_oid(old_oid, new_oid, &base, opt);
712 if (!*base_str && opt->flags.follow_renames && diff_might_be_rename())
713 try_to_follow_renames(old_oid, new_oid, &base, opt);
714
715 strbuf_release(&base);
718 -
719 - return retval;
716 }
717
722 -int diff_root_tree_oid(const struct object_id *new_oid, const char *base, struct diff_options *opt)
718 +void diff_root_tree_oid(const struct object_id *new_oid,
719 + const char *base,
720 + struct diff_options *opt)
721 {
724 - return diff_tree_oid(NULL, new_oid, base, opt);
722 + diff_tree_oid(NULL, new_oid, base, opt);
723 }