diff --git a/src/applications/differential/customfield/DifferentialBranchField.php b/src/applications/differential/customfield/DifferentialBranchField.php index 62f47a5e1a..16be0ce0c9 100644 --- a/src/applications/differential/customfield/DifferentialBranchField.php +++ b/src/applications/differential/customfield/DifferentialBranchField.php @@ -1,96 +1,96 @@ getFieldName(); } public function renderDiffPropertyViewValue(DifferentialDiff $diff) { return $this->getBranchDescription($diff); } private function getBranchDescription(DifferentialDiff $diff) { $branch = $diff->getBranch(); $bookmark = $diff->getBookmark(); if (strlen($branch) && strlen($bookmark)) { return pht('%s (bookmark) on %s (branch)', $bookmark, $branch); } else if (strlen($bookmark)) { return pht('%s (bookmark)', $bookmark); } else if (strlen($branch)) { $onto = $diff->loadTargetBranch(); - if (strlen($onto)) { + if (strlen($onto) && ($onto !== $branch)) { return pht( '%s (branched from %s)', $branch, $onto); } else { return $branch; } } else { return null; } } public function getProTips() { return array( pht( 'In Git and Mercurial, use a branch like "%s" to automatically '. 'associate changes with the corresponding task.', 'T123'), ); } public function shouldAppearInTransactionMail() { return true; } public function updateTransactionMailBody( PhabricatorMetaMTAMailBody $body, PhabricatorApplicationTransactionEditor $editor, array $xactions) { $status_accepted = ArcanistDifferentialRevisionStatus::ACCEPTED; // Show the "BRANCH" section only if there's a new diff or the revision // is "Accepted". if ((!$editor->getDiffUpdateTransaction($xactions)) && ($this->getObject()->getStatus() != $status_accepted)) { return; } $branch = $this->getBranchDescription($this->getObject()->getActiveDiff()); if ($branch === null) { return; } $body->addTextSection(pht('BRANCH'), $branch); } }