f2eba66 (Enable HEAD@{...} and make it independent from the current branch, 2007-02-03) introduced dwim_log() to handle <refname>@{...} syntax, and as part of its processing, it checks if the ref exists by calling refsolve_ref(). It should call it as a reader to make sure the call returns NULL for a nonexistent ref (not as a potential writer in which case it does not return NULL). Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> --- * I found this purely by accident. "echo >.git/logs/refs/heads/HEAD" would make your "git rev-parse HEAD@{1}" complain about a refname 'HEAD' being ambiguous without this patch. sha1_name.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/sha1_name.c b/sha1_name.c index b0b2167..4fb77f8 100644 --- a/sha1_name.c +++ b/sha1_name.c @@ -273,7 +273,7 @@ int dwim_log(const char *str, int len, unsigned char *sha1, char **log) const char *ref, *it; strcpy(path, mkpath(*p, len, str)); - ref = resolve_ref(path, hash, 0, NULL); + ref = resolve_ref(path, hash, 1, NULL); if (!ref) continue; if (!stat(git_path("logs/%s", path), &st) && -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html