Page MenuHomestyx hydra

No OneTemporary

diff --git a/src/applications/differential/field/specification/DifferentialBranchFieldSpecification.php b/src/applications/differential/field/specification/DifferentialBranchFieldSpecification.php
index ddc5bd548d..40ab4400d0 100644
--- a/src/applications/differential/field/specification/DifferentialBranchFieldSpecification.php
+++ b/src/applications/differential/field/specification/DifferentialBranchFieldSpecification.php
@@ -1,81 +1,85 @@
<?php
final class DifferentialBranchFieldSpecification
extends DifferentialFieldSpecification {
public function shouldAppearOnRevisionView() {
return true;
}
public function renderLabelForRevisionView() {
return 'Branch:';
}
- public function renderValueForRevisionView() {
- $diff = $this->getManualDiff();
-
+ private function getBranchOrBookmarkDescription(DifferentialDiff $diff) {
$branch = $diff->getBranch();
$bookmark = $diff->getBookmark();
$has_branch = ($branch != '');
$has_bookmark = ($bookmark != '');
if ($has_branch && $has_bookmark) {
- $branch = "{$bookmark} bookmark on {$branch} branch";
+ return "{$bookmark} bookmark on {$branch} branch";
} else if ($has_bookmark) {
- $branch = "{$bookmark} bookmark";
- } else if (!$has_branch) {
- return null;
+ return "{$bookmark} bookmark";
+ } else if ($has_branch) {
+ return $branch;
}
+ return null;
+ }
- return $branch;
+ public function renderValueForRevisionView() {
+ $diff = $this->getManualDiff();
+ return $this->getBranchOrBookmarkDescription($diff);
}
public function renderValueForMail($phase) {
$status = $this->getRevision()->getStatus();
if ($status != ArcanistDifferentialRevisionStatus::NEEDS_REVISION &&
$status != ArcanistDifferentialRevisionStatus::ACCEPTED) {
return null;
}
$diff = $this->getRevision()->loadActiveDiff();
if ($diff) {
- $branch = $diff->getBranch();
- if ($branch) {
- return "BRANCH\n $branch";
+ $description = $this->getBranchOrBookmarkDescription($diff);
+ if ($description) {
+ return "BRANCH\n {$description}";
}
}
+
+ return null;
}
public function didWriteRevision(DifferentialRevisionEditor $editor) {
$maniphest = 'PhabricatorApplicationManiphest';
if (!PhabricatorApplication::isClassInstalled($maniphest)) {
return;
}
$branch = $this->getDiff()->getBranch();
$match = null;
if (preg_match('/^T(\d+)/i', $branch, $match)) { // No $ to allow T123_demo.
list(, $task_id) = $match;
$task = id(new ManiphestTaskQuery())
->setViewer($editor->requireActor())
->withIDs(array($task_id))
->executeOne();
if ($task) {
id(new PhabricatorEdgeEditor())
->setActor($this->getUser())
->addEdge(
$this->getRevision()->getPHID(),
PhabricatorEdgeConfig::TYPE_DREV_HAS_RELATED_TASK,
$task->getPHID())
->save();
}
}
}
public function getCommitMessageTips() {
return array(
'Name branch "T123" to attach the diff to a task.',
);
}
}

File Metadata

Mime Type
text/x-diff
Expires
Thu, Nov 6, 2:59 AM (17 h, 43 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
321405
Default Alt Text
(3 KB)

Event Timeline