{"thread":{"id":"6655","subject":"[PATCH 1.5/2] fix git-rev-parse for ...@{0}","startedAt":"2007-02-04T03:56:45Z","lastAt":"2007-02-04T03:56:45Z","messageCount":1,"participants":["Nicolas Pitre"],"isPatch":true,"patchVersion":1,"patchTotal":2},"messages":[{"id":"33525","messageId":"Pine.LNX.4.64.0702032254040.3021@xanadu.home","threadId":"6655","inReplyTo":null,"subject":"[PATCH 1.5/2] fix git-rev-parse for ...@{0}","fromName":"Nicolas Pitre","fromEmail":"nico@cam.org","sentAt":"2007-02-04T03:56:45Z","receivedAt":"2007-02-04T03:56:45Z","isPatch":true,"sender":{"key":"nico@fluxnic.net","avatar":"https://avatars.githubusercontent.com/u/702790?v=4"},"body":"My patch enabling HEAD@{...} broke the @{0} case.\n\nSigned-off-by: Nicolas Pitre <nico@cam.org>\n---\n sha1_name.c |    8 +++++---\n 1 files changed, 5 insertions(+), 3 deletions(-)\n\ndiff --git a/sha1_name.c b/sha1_name.c\nindex 9841b05..d77f770 100644\n--- a/sha1_name.c\n+++ b/sha1_name.c\n@@ -267,7 +267,7 @@ int dwim_ref(const char *str, int len, unsigned char *sha1, char **ref)\n \treturn refs_found;\n }\n \n-static int dwim_log(const char *str, int len, char **log)\n+static int dwim_log(const char *str, int len, unsigned char *sha1, char **log)\n {\n \tconst char **p;\n \tint logs_found = 0;\n@@ -278,8 +278,10 @@ static int dwim_log(const char *str, int len, char **log)\n \t\tchar *path = mkpath(*p, len, str);\n \t\tif (!stat(git_path(\"logs/%s\", path), &st) &&\n \t\t    S_ISREG(st.st_mode)) {\n-\t\t\tif (!logs_found++)\n+\t\t\tif (!logs_found++) {\n \t\t\t\t*log = xstrdup(path);\n+\t\t\t\tresolve_ref(path, sha1, 0, NULL);\n+\t\t\t}\n \t\t\tif (!warn_ambiguous_refs)\n \t\t\t\tbreak;\n \t\t}\n@@ -317,7 +319,7 @@ static int get_sha1_basic(const char *str, int len, unsigned char *sha1)\n \t\t/* allow \"@{...}\" to mean the current branch reflog */\n \t\trefs_found = dwim_ref(\"HEAD\", 4, sha1, &real_ref);\n \t} else if (reflog_len)\n-\t\trefs_found = dwim_log(str, len, &real_ref);\n+\t\trefs_found = dwim_log(str, len, sha1, &real_ref);\n \telse\n \t\trefs_found = dwim_ref(str, len, sha1, &real_ref);\n \n-- \n1.5.0.rc2.652.g4dfde-dirty\n"}]}