diff options
author | Junio C Hamano <gitster@pobox.com> | 2020-09-09 23:53:08 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-09-09 23:53:09 +0300 |
commit | 0df670bc0b8b5499859829ba0889ce96a75304a6 (patch) | |
tree | e95738e380852775d16806643a57ece2d4d39461 /revision.c | |
parent | 7364aee138326303371c1a17d3259912366c1b55 (diff) | |
parent | f24c30e0b6b13078d8fc7cd71b9989d28fd76610 (diff) |
Merge branch 'jt/interpret-branch-name-fallback'
"git status" has trouble showing where it came from by interpreting
reflog entries that recordcertain events, e.g. "checkout @{u}", and
gives a hard/fatal error. Even though it inherently is impossible
to give a correct answer because the reflog entries lose some
information (e.g. "@{u}" does not record what branch the user was
on hence which branch 'the upstream' needs to be computed, and even
if the record were available, the relationship between branches may
have changed), at least hide the error to allow "status" show its
output.
* jt/interpret-branch-name-fallback:
wt-status: tolerate dangling marks
refs: move dwim_ref() to header file
sha1-name: replace unsigned int with option struct
Diffstat (limited to 'revision.c')
-rw-r--r-- | revision.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/revision.c b/revision.c index 0d67b842fd..1239023f93 100644 --- a/revision.c +++ b/revision.c @@ -315,13 +315,14 @@ static void add_pending_object_with_path(struct rev_info *revs, const char *name, unsigned mode, const char *path) { + struct interpret_branch_name_options options = { 0 }; if (!obj) return; if (revs->no_walk && (obj->flags & UNINTERESTING)) revs->no_walk = 0; if (revs->reflog_info && obj->type == OBJ_COMMIT) { struct strbuf buf = STRBUF_INIT; - int len = interpret_branch_name(name, 0, &buf, 0); + int len = interpret_branch_name(name, 0, &buf, &options); if (0 < len && name[len] && buf.len) strbuf_addstr(&buf, name + len); |