mirror of
https://we.phorge.it/source/arcanist.git
synced 2024-12-23 05:50:54 +01:00
Fix a bad interaction between "arc diff --reviewers" and "the first line of a message is always a title"
Summary: Fixes T12069. We implement "arc diff --reviewers" (and "--cc") by parsing a faux message with "Reviewers: ...". After D17122, the first line of the message is always interpreted as a title, so the text ends up in the message body. Instead, use a placeholder title so these fields are never initial fields. Test Plan: Ran `arc diff --reviewers dog`, got only one "Reviewers" field. Reviewers: chad Reviewed By: chad Maniphest Tasks: T12069 Differential Revision: https://secure.phabricator.com/D17147
This commit is contained in:
parent
c243cbbd9f
commit
ade25facfd
1 changed files with 10 additions and 0 deletions
|
@ -1962,7 +1962,13 @@ EOTEXT
|
|||
$faux_message[] = pht('CC: %s', $this->getArgument('cc'));
|
||||
}
|
||||
|
||||
// See T12069. After T10312, the first line of a message is always parsed
|
||||
// as a title. Add a placeholder so "Reviewers" and "CC" are never the
|
||||
// first line.
|
||||
$placeholder_title = pht('<placeholder>');
|
||||
|
||||
if ($faux_message) {
|
||||
array_unshift($faux_message, $placeholder_title);
|
||||
$faux_message = implode("\n\n", $faux_message);
|
||||
$local = array(
|
||||
'(Flags) ' => array(
|
||||
|
@ -2034,6 +2040,10 @@ EOTEXT
|
|||
continue;
|
||||
}
|
||||
|
||||
if ($title === $placeholder_title) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!isset($result['title'])) {
|
||||
// We don't have a title yet, so use this one.
|
||||
$result['title'] = $title;
|
||||
|
|
Loading…
Reference in a new issue