mirror of
https://github.com/git/git.git
synced 2024-04-28 08:05:04 +02:00
refs: make repo_dwim_log() accept a NULL oid
Change the repo_dwim_log() function initially added as dwim_log() ineb3a48221f
(log --reflog: use dwim_log, 2007-02-09) to accept a NULL oid parameter. The refs_resolve_ref_unsafe() function it invokes already deals with it, but it didn't. This allows for a bit more clarity in a reflog-walk.c codepath added inf2eba66d4d
(Enable HEAD@{...} and make it independent from the current branch, 2007-02-03). We'll shortly use this in builtin/reflog.c as well. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
81bc122589
commit
6f45ec88d2
|
@ -158,10 +158,9 @@ int add_reflog_for_walk(struct reflog_walk_info *info,
|
||||||
}
|
}
|
||||||
reflogs = read_complete_reflog(branch);
|
reflogs = read_complete_reflog(branch);
|
||||||
if (!reflogs || reflogs->nr == 0) {
|
if (!reflogs || reflogs->nr == 0) {
|
||||||
struct object_id oid;
|
|
||||||
char *b;
|
char *b;
|
||||||
int ret = dwim_log(branch, strlen(branch),
|
int ret = dwim_log(branch, strlen(branch),
|
||||||
&oid, &b);
|
NULL, &b);
|
||||||
if (ret > 1)
|
if (ret > 1)
|
||||||
free(b);
|
free(b);
|
||||||
else if (ret == 1) {
|
else if (ret == 1) {
|
||||||
|
|
5
refs.c
5
refs.c
|
@ -698,7 +698,7 @@ int repo_dwim_log(struct repository *r, const char *str, int len,
|
||||||
strbuf_addf(&path, *p, len, str);
|
strbuf_addf(&path, *p, len, str);
|
||||||
ref = refs_resolve_ref_unsafe(refs, path.buf,
|
ref = refs_resolve_ref_unsafe(refs, path.buf,
|
||||||
RESOLVE_REF_READING,
|
RESOLVE_REF_READING,
|
||||||
&hash, NULL);
|
oid ? &hash : NULL, NULL);
|
||||||
if (!ref)
|
if (!ref)
|
||||||
continue;
|
continue;
|
||||||
if (refs_reflog_exists(refs, path.buf))
|
if (refs_reflog_exists(refs, path.buf))
|
||||||
|
@ -710,7 +710,8 @@ int repo_dwim_log(struct repository *r, const char *str, int len,
|
||||||
continue;
|
continue;
|
||||||
if (!logs_found++) {
|
if (!logs_found++) {
|
||||||
*log = xstrdup(it);
|
*log = xstrdup(it);
|
||||||
oidcpy(oid, &hash);
|
if (oid)
|
||||||
|
oidcpy(oid, &hash);
|
||||||
}
|
}
|
||||||
if (!warn_ambiguous_refs)
|
if (!warn_ambiguous_refs)
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue