summaryrefslogtreecommitdiff
path: root/builtin/merge-base.c
diff options
context:
space:
mode:
Diffstat (limited to 'builtin/merge-base.c')
-rw-r--r--builtin/merge-base.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/builtin/merge-base.c b/builtin/merge-base.c
index 08a8217890..b572a37c26 100644
--- a/builtin/merge-base.c
+++ b/builtin/merge-base.c
@@ -16,7 +16,7 @@ static int show_merge_base(struct commit **rev, int rev_nr, int show_all)
return 1;
while (result) {
- printf("%s\n", sha1_to_hex(result->item->object.sha1));
+ printf("%s\n", oid_to_hex(&result->item->object.oid));
if (!show_all)
return 0;
result = result->next;
@@ -62,7 +62,7 @@ static int handle_independent(int count, const char **args)
return 1;
while (result) {
- printf("%s\n", sha1_to_hex(result->item->object.sha1));
+ printf("%s\n", oid_to_hex(&result->item->object.oid));
result = result->next;
}
return 0;
@@ -83,7 +83,7 @@ static int handle_octopus(int count, const char **args, int show_all)
return 1;
while (result) {
- printf("%s\n", sha1_to_hex(result->item->object.sha1));
+ printf("%s\n", oid_to_hex(&result->item->object.oid));
if (!show_all)
return 0;
result = result->next;
@@ -173,6 +173,9 @@ static int handle_fork_point(int argc, const char **argv)
revs.initial = 1;
for_each_reflog_ent(refname, collect_one_reflog_ent, &revs);
+ if (!revs.nr && !get_sha1(refname, sha1))
+ add_one_commit(sha1, &revs);
+
for (i = 0; i < revs.nr; i++)
revs.commit[i]->object.flags &= ~TMP_MARK;
@@ -196,7 +199,7 @@ static int handle_fork_point(int argc, const char **argv)
goto cleanup_return;
}
- printf("%s\n", sha1_to_hex(bases->item->object.sha1));
+ printf("%s\n", oid_to_hex(&bases->item->object.oid));
cleanup_return:
free_commit_list(bases);
@@ -252,7 +255,7 @@ int cmd_merge_base(int argc, const char **argv, const char *prefix)
if (argc < 2)
usage_with_options(merge_base_usage, options);
- rev = xmalloc(argc * sizeof(*rev));
+ ALLOC_ARRAY(rev, argc);
while (argc-- > 0)
rev[rev_nr++] = get_commit_reference(*argv++);
return show_merge_base(rev, rev_nr, show_all);