diff options
author | Junio C Hamano <gitster@pobox.com> | 2021-11-29 23:41:45 (GMT) |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-11-29 23:41:45 (GMT) |
commit | 96f6623ada056c24a60e10ad58acc42871dd9f41 (patch) | |
tree | 3c7ae409f410de95846c0fb8a6ee40099ff812cc /sequencer.c | |
parent | dea96aae4d4821a7d516257daa6be4be893887cd (diff) | |
parent | f1da24ca5eeecf8931ffc08b4c8251c689c94a47 (diff) | |
download | git-96f6623ada056c24a60e10ad58acc42871dd9f41.zip git-96f6623ada056c24a60e10ad58acc42871dd9f41.tar.gz git-96f6623ada056c24a60e10ad58acc42871dd9f41.tar.bz2 |
Merge branch 'ab/refs-errno-cleanup'
The "remainder" of hn/refs-errno-cleanup topic.
* ab/refs-errno-cleanup: (21 commits)
refs API: post-migration API renaming [2/2]
refs API: post-migration API renaming [1/2]
refs API: don't expose "errno" in run_transaction_hook()
refs API: make expand_ref() & repo_dwim_log() not set errno
refs API: make resolve_ref_unsafe() not set errno
refs API: make refs_ref_exists() not set errno
refs API: make refs_resolve_refdup() not set errno
refs tests: ignore ignore errno in test-ref-store helper
refs API: ignore errno in worktree.c's find_shared_symref()
refs API: ignore errno in worktree.c's add_head_info()
refs API: make files_copy_or_rename_ref() et al not set errno
refs API: make loose_fill_ref_dir() not set errno
refs API: make resolve_gitlink_ref() not set errno
refs API: remove refs_read_ref_full() wrapper
refs/files: remove "name exist?" check in lock_ref_oid_basic()
reflog tests: add --updateref tests
refs API: make refs_rename_ref_available() static
refs API: make parse_loose_ref_contents() not set errno
refs API: make refs_read_raw_ref() not set errno
refs API: add a version of refs_resolve_ref_unsafe() with "errno"
...
Diffstat (limited to 'sequencer.c')
-rw-r--r-- | sequencer.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/sequencer.c b/sequencer.c index ea96837..b4135a7 100644 --- a/sequencer.c +++ b/sequencer.c @@ -1284,6 +1284,8 @@ void print_commit_summary(struct repository *r, struct pretty_print_context pctx = {0}; struct strbuf author_ident = STRBUF_INIT; struct strbuf committer_ident = STRBUF_INIT; + struct ref_store *refs; + int resolve_errno; commit = lookup_commit(r, oid); if (!commit) @@ -1333,9 +1335,13 @@ void print_commit_summary(struct repository *r, rev.diffopt.break_opt = 0; diff_setup_done(&rev.diffopt); - head = resolve_ref_unsafe("HEAD", 0, NULL, NULL); - if (!head) + refs = get_main_ref_store(the_repository); + head = refs_resolve_ref_unsafe(refs, "HEAD", 0, NULL, NULL, + &resolve_errno); + if (!head) { + errno = resolve_errno; die_errno(_("unable to resolve HEAD after creating commit")); + } if (!strcmp(head, "HEAD")) head = _("detached HEAD"); else |