Page MenuHomePhabricator

D18741.diff
No OneTemporary

D18741.diff

diff --git a/src/applications/differential/conduit/DifferentialParseCommitMessageConduitAPIMethod.php b/src/applications/differential/conduit/DifferentialParseCommitMessageConduitAPIMethod.php
--- a/src/applications/differential/conduit/DifferentialParseCommitMessageConduitAPIMethod.php
+++ b/src/applications/differential/conduit/DifferentialParseCommitMessageConduitAPIMethod.php
@@ -36,6 +36,7 @@
$field_map = $parser->parseFields($corpus);
$errors = $parser->getErrors();
+ $xactions = $parser->getTransactions();
$revision_id_value = idx(
$field_map,
@@ -49,6 +50,7 @@
'value' => $revision_id_value,
'validDomain' => $revision_id_valid_domain,
),
+ 'transactions' => $xactions,
);
}
diff --git a/src/applications/differential/parser/DifferentialCommitMessageParser.php b/src/applications/differential/parser/DifferentialCommitMessageParser.php
--- a/src/applications/differential/parser/DifferentialCommitMessageParser.php
+++ b/src/applications/differential/parser/DifferentialCommitMessageParser.php
@@ -28,6 +28,7 @@
private $errors;
private $commitMessageFields;
private $raiseMissingFieldErrors = true;
+ private $xactions;
public static function newStandardParser(PhabricatorUser $viewer) {
$key_title = DifferentialTitleCommitMessageField::FIELDKEY;
@@ -134,6 +135,7 @@
*/
public function parseCorpus($corpus) {
$this->errors = array();
+ $this->xactions = array();
$label_map = $this->getLabelMap();
$key_title = $this->titleKey;
@@ -284,12 +286,25 @@
try {
$result = $field->parseFieldValue($text_value);
$result_map[$field_key] = $result;
+
+ try {
+ $xactions = $field->getFieldTransactions($result);
+ foreach ($xactions as $xaction) {
+ $this->xactions[] = $xaction;
+ }
+ } catch (Exception $ex) {
+ $this->errors[] = pht(
+ 'Error extracting field transactions from "%s": %s',
+ $field->getFieldName(),
+ $ex->getMessage());
+ }
} catch (DifferentialFieldParseException $ex) {
$this->errors[] = pht(
'Error parsing field "%s": %s',
$field->getFieldName(),
$ex->getMessage());
}
+
}
if ($this->getRaiseMissingFieldErrors()) {
@@ -317,6 +332,14 @@
}
+ /**
+ * @task parse
+ */
+ public function getTransactions() {
+ return $this->xactions;
+ }
+
+
/* -( Support Methods )---------------------------------------------------- */

File Metadata

Mime Type
text/plain
Expires
Mon, May 13, 10:39 PM (2 w, 1 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6276828
Default Alt Text
D18741.diff (2 KB)

Event Timeline