Merge branch 'rt/commentchar-fmt-merge-msg' into maint

* rt/commentchar-fmt-merge-msg:
  t6200: avoid path mangling issue on Windows
  fmt-merge-msg: use core.commentchar in tag signatures completely
  fmt-merge-msg: respect core.commentchar in people credits
This commit is contained in:
Junio C Hamano 2013-04-26 11:10:47 -07:00
commit 0222bc9102
2 changed files with 29 additions and 7 deletions

View File

@ -287,10 +287,10 @@ static void credit_people(struct strbuf *out,
const char *me;
if (kind == 'a') {
label = "\n# By ";
label = "By";
me = git_author_info(IDENT_NO_DATE);
} else {
label = "\n# Via ";
label = "Via";
me = git_committer_info(IDENT_NO_DATE);
}
@ -300,7 +300,7 @@ static void credit_people(struct strbuf *out,
(me = skip_prefix(me, them->items->string)) != NULL &&
skip_prefix(me, " <")))
return;
strbuf_addstr(out, label);
strbuf_addf(out, "\n%c %s ", comment_line_char, label);
add_people_count(out, them);
}
@ -503,14 +503,18 @@ static void fmt_merge_msg_sigs(struct strbuf *out)
} else {
if (tag_number == 2) {
struct strbuf tagline = STRBUF_INIT;
strbuf_addf(&tagline, "\n# %s\n",
origins.items[first_tag].string);
strbuf_addch(&tagline, '\n');
strbuf_add_commented_lines(&tagline,
origins.items[first_tag].string,
strlen(origins.items[first_tag].string));
strbuf_insert(&tagbuf, 0, tagline.buf,
tagline.len);
strbuf_release(&tagline);
}
strbuf_addf(&tagbuf, "\n# %s\n",
origins.items[i].string);
strbuf_addch(&tagbuf, '\n');
strbuf_add_commented_lines(&tagbuf,
origins.items[i].string,
strlen(origins.items[i].string));
fmt_tag_signature(&tagbuf, &sig, buf, len);
}
strbuf_release(&sig);

View File

@ -175,6 +175,24 @@ test_expect_success 'merge.log=5 shows all 5 commits' '
test_cmp expected actual
'
test_expect_success '--log=5 with custom comment character' '
cat >expected <<-EOF &&
Merge branch ${apos}left${apos}
x By Another Author (3) and A U Thor (2)
x Via Another Committer
* left:
Left #5
Left #4
Left #3
Common #2
Common #1
EOF
git -c core.commentchar="x" fmt-merge-msg --log=5 <.git/FETCH_HEAD >actual &&
test_cmp expected actual
'
test_expect_success 'merge.log=0 disables shortlog' '
echo "Merge branch ${apos}left${apos}" >expected
git -c merge.log=0 fmt-merge-msg <.git/FETCH_HEAD >actual &&