find_branch_name() fails to detect "format-patch --cover-letter -3" where no command line arguments are given and HEAD is automatically added. Detect branch name in this case so we can pick up the branch's description in cover letter. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> --- builtin/log.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/builtin/log.c b/builtin/log.c index e7b7db1..115f118 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -1027,8 +1027,22 @@ static char *find_branch_name(struct rev_info *rev) else return NULL; } - if (positive < 0) + if (positive < 0) { + /* + * No actual ref from command line, but "HEAD" from + * rev->def was added in setup_revisions() + * e.g. format-patch --cover-letter -12 + */ + if (!rev->cmdline.nr && + rev->pending.nr == 1 && + !strcmp(rev->pending.objects[0].name, "HEAD")) { + const char *ref; + ref = resolve_ref_unsafe("HEAD", branch_sha1, 1, NULL); + if (ref && !prefixcmp(ref, "refs/heads/")) + return xstrdup(ref + strlen("refs/heads/")); + } return NULL; + } strbuf_addf(&buf, "refs/heads/%s", rev->cmdline.rev[positive].name); branch = resolve_ref_unsafe(buf.buf, branch_sha1, 1, NULL); if (!branch || -- 1.8.0.rc2.23.g1fb49df -- 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