From d93bb5abd4935bc8d5446112c13ee26377c7e2eb Mon Sep 17 00:00:00 2001 From: vrana Date: Tue, 12 Jun 2012 13:29:05 -0700 Subject: [PATCH] Use verbatim commit message if it couldn't be parsed Summary: We currently remove an invalid user from Reviewers and similar fields and print a note in the template. There are several problems: # If I only made a typo in the name then it takes some effort to fix this typo and put the name on the original place (this information is lost). # The notice is almost invisible and most users will just confirm the message without noticing it. # If I fill the data in the commit message (and not in the template) then I probably want to treat that as authoritative so I want it to be correct. Test Plan: `arc diff` with invalid reviewer in commit message. `arc diff` on empty commit message. Reviewers: epriestley Reviewed By: epriestley CC: aran, Korvin, nh Differential Revision: https://secure.phabricator.com/D2730 --- src/workflow/ArcanistDiffWorkflow.php | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/workflow/ArcanistDiffWorkflow.php b/src/workflow/ArcanistDiffWorkflow.php index 14c5222f..28f4bdd9 100644 --- a/src/workflow/ArcanistDiffWorkflow.php +++ b/src/workflow/ArcanistDiffWorkflow.php @@ -1339,13 +1339,18 @@ EOTEXT $template_is_default = true; } - $template = $conduit->callMethodSynchronous( - 'differential.getcommitmessage', - array( - 'revision_id' => null, - 'edit' => 'create', - 'fields' => $fields, - )); + if ($notes) { + $commit = head($this->getRepositoryAPI()->getLocalCommitInformation()); + $template = $commit['message']; + } else { + $template = $conduit->callMethodSynchronous( + 'differential.getcommitmessage', + array( + 'revision_id' => null, + 'edit' => 'create', + 'fields' => $fields, + )); + } } if ($included) {