提交 650d30d8 编写于 作者: A Andreas Ericsson 提交者: Junio C Hamano

mailinfo: Remove only one set of square brackets

git-format-patch prepends patches with a [PATCH x/n] prefix, but
mailinfo used to remove any number of square-bracket pairs and
the content between them. This prevents one from using a commit
subject like this:

  [ and ] must be allowed as input

Removing the square bracket pair from this rather clumsily
constructed subject line loses important information, so we must
take care not to.

This patch causes the subject stripping to stop after it has
encountered one pair of square brackets.

One possible downside of this patch is that the patch-handling
programs will now fail at removing author-added square-brackets
to be removed, such as

  [RFC][PATCH x/n]

However, since format-patch only adds one set of square brackets,
this behaviour is quite easily undesrstood and defended while the
previous behaviour is not.
Signed-off-by: NAndreas Ericsson <ae@op5.se>
Signed-off-by: NJunio C Hamano <gitster@pobox.com>
上级 1bed73c6
......@@ -222,6 +222,8 @@ static void cleanup_subject(struct strbuf *subject)
{
char *pos;
size_t remove;
int brackets_removed = 0;
while (subject->len) {
switch (*subject->buf) {
case 'r': case 'R':
......@@ -236,10 +238,15 @@ static void cleanup_subject(struct strbuf *subject)
strbuf_remove(subject, 0, 1);
continue;
case '[':
/* remove only one set of square brackets */
if (brackets_removed)
break;
if ((pos = strchr(subject->buf, ']'))) {
remove = pos - subject->buf;
if (remove <= (subject->len - remove) * 2) {
strbuf_remove(subject, 0, remove + 1);
brackets_removed = 1;
continue;
}
} else
......
Author: Dmitriy Blinov
Email: bda@mnsspb.ru
Subject: Изменён список пакетов необходимых для сборки
Subject: [Navy-patches] Изменён список пакетов необходимых для сборки
Date: Wed, 12 Nov 2008 17:54:41 +0300
......@@ -514,7 +514,7 @@ MIME-Version: 1.0
Content-Type: text/plain;
charset=utf-8
Content-Transfer-Encoding: 8bit
Subject: [Navy-patches] [PATCH]
Subject: [PATCH] [Navy-patches]
=?utf-8?b?0JjQt9C80LXQvdGR0L0g0YHQv9C40YHQvtC6INC/0LA=?=
=?utf-8?b?0LrQtdGC0L7QsiDQvdC10L7QsdGF0L7QtNC40LzRi9GFINC00LvRjyA=?=
=?utf-8?b?0YHQsdC+0YDQutC4?=
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册