merge-base: handle --fork-point without reflog
[gitweb.git] / builtin / show-branch.c
index 717a8e7665ee59d9d72165881c962d0d1943dd77..25669357e97e892ffb050d879b74d13a91d4fafc 100644 (file)
@@ -291,7 +291,7 @@ static void show_one_commit(struct commit *commit, int no_name)
                }
                else
                        printf("[%s] ",
-                              find_unique_abbrev(commit->object.sha1,
+                              find_unique_abbrev(commit->object.oid.hash,
                                                  DEFAULT_ABBREV));
        }
        puts(pretty_str);
@@ -496,7 +496,7 @@ static int show_merge_base(struct commit_list *seen, int num_rev)
                int flags = commit->object.flags & all_mask;
                if (!(flags & UNINTERESTING) &&
                    ((flags & all_revs) == all_revs)) {
-                       puts(sha1_to_hex(commit->object.sha1));
+                       puts(oid_to_hex(&commit->object.oid));
                        exit_status = 0;
                        commit->object.flags |= UNINTERESTING;
                }
@@ -516,7 +516,7 @@ static int show_independent(struct commit **rev,
                unsigned int flag = rev_mask[i];
 
                if (commit->object.flags == flag)
-                       puts(sha1_to_hex(commit->object.sha1));
+                       puts(oid_to_hex(&commit->object.oid));
                commit->object.flags |= UNINTERESTING;
        }
        return 0;
@@ -724,6 +724,8 @@ int cmd_show_branch(int ac, const char **av, const char *prefix)
                        fake_av[1] = NULL;
                        av = fake_av;
                        ac = 1;
+                       if (!*av)
+                               die("no branches given, and HEAD is not valid");
                }
                if (ac != 1)
                        die("--reflog option needs one branch name");
@@ -865,7 +867,7 @@ int cmd_show_branch(int ac, const char **av, const char *prefix)
                                                  head_len,
                                                  ref_name[i],
                                                  head_oid.hash,
-                                                 rev[i]->object.sha1);
+                                                 rev[i]->object.oid.hash);
                        if (extra < 0)
                                printf("%c [%s] ",
                                       is_head ? '*' : ' ', ref_name[i]);