Git 2.17.1
[gitweb.git] / builtin / merge-base.c
index e17835fabb6702bf665264740d29dab0c04b094f..3b7600150b66c4bf814e21b74b2d931f44c83805 100644 (file)
@@ -57,7 +57,7 @@ static int handle_independent(int count, const char **args)
        for (i = count - 1; i >= 0; i--)
                commit_list_insert(get_commit_reference(args[i]), &revs);
 
-       revs = reduce_heads(revs);
+       reduce_heads_replace(&revs);
 
        if (!revs)
                return 1;
@@ -78,7 +78,9 @@ static int handle_octopus(int count, const char **args, int show_all)
        for (i = count - 1; i >= 0; i--)
                commit_list_insert(get_commit_reference(args[i]), &revs);
 
-       result = reduce_heads(get_octopus_merge_bases(revs));
+       result = get_octopus_merge_bases(revs);
+       free_commit_list(revs);
+       reduce_heads_replace(&result);
 
        if (!result)
                return 1;
@@ -156,7 +158,7 @@ static int handle_fork_point(int argc, const char **argv)
        struct commit_list *bases;
        int i, ret = 0;
 
-       switch (dwim_ref(argv[0], strlen(argv[0]), oid.hash, &refname)) {
+       switch (dwim_ref(argv[0], strlen(argv[0]), &oid, &refname)) {
        case 0:
                die("No such ref: '%s'", argv[0]);
        case 1: