Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F15340673
D21352.id50865.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
26 KB
Referenced Files
None
Subscribers
None
D21352.id50865.diff
View Options
diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php
--- a/src/__phutil_library_map__.php
+++ b/src/__phutil_library_map__.php
@@ -168,8 +168,6 @@
'ArcanistDifferentialDependencyGraph' => 'differential/ArcanistDifferentialDependencyGraph.php',
'ArcanistDifferentialRevisionHash' => 'differential/constants/ArcanistDifferentialRevisionHash.php',
'ArcanistDifferentialRevisionStatus' => 'differential/constants/ArcanistDifferentialRevisionStatus.php',
- 'ArcanistDisplayRef' => 'ref/ArcanistDisplayRef.php',
- 'ArcanistDisplayRefInterface' => 'ref/ArcanistDisplayRefInterface.php',
'ArcanistDoubleQuoteXHPASTLinterRule' => 'lint/linter/xhpast/rules/ArcanistDoubleQuoteXHPASTLinterRule.php',
'ArcanistDoubleQuoteXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistDoubleQuoteXHPASTLinterRuleTestCase.php',
'ArcanistDownloadWorkflow' => 'workflow/ArcanistDownloadWorkflow.php',
@@ -415,6 +413,7 @@
'ArcanistRaggedClassTreeEdgeXHPASTLinterRuleTestCase' => 'lint/linter/xhpast/rules/__tests__/ArcanistRaggedClassTreeEdgeXHPASTLinterRuleTestCase.php',
'ArcanistRef' => 'ref/ArcanistRef.php',
'ArcanistRefInspector' => 'inspector/ArcanistRefInspector.php',
+ 'ArcanistRefView' => 'ref/ArcanistRefView.php',
'ArcanistRemoteRef' => 'repository/remote/ArcanistRemoteRef.php',
'ArcanistRepositoryAPI' => 'repository/api/ArcanistRepositoryAPI.php',
'ArcanistRepositoryAPIMiscTestCase' => 'repository/api/__tests__/ArcanistRepositoryAPIMiscTestCase.php',
@@ -1084,21 +1083,12 @@
'ArcanistBrowseURIRef' => 'ArcanistRef',
'ArcanistBrowseWorkflow' => 'ArcanistArcWorkflow',
'ArcanistBuildBuildplanHardpointQuery' => 'ArcanistRuntimeHardpointQuery',
- 'ArcanistBuildPlanRef' => array(
- 'ArcanistRef',
- 'ArcanistDisplayRefInterface',
- ),
+ 'ArcanistBuildPlanRef' => 'ArcanistRef',
'ArcanistBuildPlanSymbolRef' => 'ArcanistSimpleSymbolRef',
- 'ArcanistBuildRef' => array(
- 'ArcanistRef',
- 'ArcanistDisplayRefInterface',
- ),
+ 'ArcanistBuildRef' => 'ArcanistRef',
'ArcanistBuildSymbolRef' => 'ArcanistSimpleSymbolRef',
'ArcanistBuildableBuildsHardpointQuery' => 'ArcanistRuntimeHardpointQuery',
- 'ArcanistBuildableRef' => array(
- 'ArcanistRef',
- 'ArcanistDisplayRefInterface',
- ),
+ 'ArcanistBuildableRef' => 'ArcanistRef',
'ArcanistBuildableSymbolRef' => 'ArcanistSimpleSymbolRef',
'ArcanistBundle' => 'Phobject',
'ArcanistBundleTestCase' => 'PhutilTestCase',
@@ -1196,10 +1186,6 @@
'ArcanistDifferentialDependencyGraph' => 'AbstractDirectedGraph',
'ArcanistDifferentialRevisionHash' => 'Phobject',
'ArcanistDifferentialRevisionStatus' => 'Phobject',
- 'ArcanistDisplayRef' => array(
- 'Phobject',
- 'ArcanistTerminalStringInterface',
- ),
'ArcanistDoubleQuoteXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
'ArcanistDoubleQuoteXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
'ArcanistDownloadWorkflow' => 'ArcanistArcWorkflow',
@@ -1224,10 +1210,7 @@
'ArcanistExtractUseXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
'ArcanistFileConfigurationSource' => 'ArcanistFilesystemConfigurationSource',
'ArcanistFileDataRef' => 'Phobject',
- 'ArcanistFileRef' => array(
- 'ArcanistRef',
- 'ArcanistDisplayRefInterface',
- ),
+ 'ArcanistFileRef' => 'ArcanistRef',
'ArcanistFileSymbolRef' => 'ArcanistSimpleSymbolRef',
'ArcanistFileUploader' => 'Phobject',
'ArcanistFilenameLinter' => 'ArcanistLinter',
@@ -1357,10 +1340,7 @@
'ArcanistLogicalOperatorsXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
'ArcanistLowercaseFunctionsXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
'ArcanistLowercaseFunctionsXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
- 'ArcanistMarkerRef' => array(
- 'ArcanistRef',
- 'ArcanistDisplayRefInterface',
- ),
+ 'ArcanistMarkerRef' => 'ArcanistRef',
'ArcanistMarkersWorkflow' => 'ArcanistArcWorkflow',
'ArcanistMercurialAPI' => 'ArcanistRepositoryAPI',
'ArcanistMercurialCommitMessageHardpointQuery' => 'ArcanistWorkflowMercurialHardpointQuery',
@@ -1420,10 +1400,7 @@
'ArcanistParenthesesSpacingXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
'ArcanistParseStrUseXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
'ArcanistParseStrUseXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
- 'ArcanistPasteRef' => array(
- 'ArcanistRef',
- 'ArcanistDisplayRefInterface',
- ),
+ 'ArcanistPasteRef' => 'ArcanistRef',
'ArcanistPasteSymbolRef' => 'ArcanistSimpleSymbolRef',
'ArcanistPasteWorkflow' => 'ArcanistArcWorkflow',
'ArcanistPatchWorkflow' => 'ArcanistWorkflow',
@@ -1454,6 +1431,10 @@
'ArcanistRaggedClassTreeEdgeXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
'ArcanistRef' => 'ArcanistHardpointObject',
'ArcanistRefInspector' => 'Phobject',
+ 'ArcanistRefView' => array(
+ 'Phobject',
+ 'ArcanistTerminalStringInterface',
+ ),
'ArcanistRemoteRef' => 'ArcanistRef',
'ArcanistRepositoryAPI' => 'Phobject',
'ArcanistRepositoryAPIMiscTestCase' => 'PhutilTestCase',
@@ -1473,10 +1454,7 @@
'ArcanistRevisionBuildableHardpointQuery' => 'ArcanistRuntimeHardpointQuery',
'ArcanistRevisionCommitMessageHardpointQuery' => 'ArcanistRuntimeHardpointQuery',
'ArcanistRevisionParentRevisionsHardpointQuery' => 'ArcanistRuntimeHardpointQuery',
- 'ArcanistRevisionRef' => array(
- 'ArcanistRef',
- 'ArcanistDisplayRefInterface',
- ),
+ 'ArcanistRevisionRef' => 'ArcanistRef',
'ArcanistRevisionRefSource' => 'Phobject',
'ArcanistRevisionSymbolRef' => 'ArcanistSimpleSymbolRef',
'ArcanistRuboCopLinter' => 'ArcanistExternalLinter',
@@ -1517,10 +1495,7 @@
'ArcanistSymbolRef' => 'ArcanistRef',
'ArcanistSyntaxErrorXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
'ArcanistSystemConfigurationSource' => 'ArcanistFilesystemConfigurationSource',
- 'ArcanistTaskRef' => array(
- 'ArcanistRef',
- 'ArcanistDisplayRefInterface',
- ),
+ 'ArcanistTaskRef' => 'ArcanistRef',
'ArcanistTaskSymbolRef' => 'ArcanistSimpleSymbolRef',
'ArcanistTasksWorkflow' => 'ArcanistWorkflow',
'ArcanistTautologicalExpressionXHPASTLinterRule' => 'ArcanistXHPASTLinterRule',
@@ -1570,10 +1545,7 @@
'ArcanistUselessOverridingMethodXHPASTLinterRuleTestCase' => 'ArcanistXHPASTLinterRuleTestCase',
'ArcanistUserAbortException' => 'ArcanistUsageException',
'ArcanistUserConfigurationSource' => 'ArcanistFilesystemConfigurationSource',
- 'ArcanistUserRef' => array(
- 'ArcanistRef',
- 'ArcanistDisplayRefInterface',
- ),
+ 'ArcanistUserRef' => 'ArcanistRef',
'ArcanistUserSymbolHardpointQuery' => 'ArcanistRuntimeHardpointQuery',
'ArcanistUserSymbolRef' => 'ArcanistSymbolRef',
'ArcanistUserSymbolRefInspector' => 'ArcanistRefInspector',
diff --git a/src/land/engine/ArcanistLandEngine.php b/src/land/engine/ArcanistLandEngine.php
--- a/src/land/engine/ArcanistLandEngine.php
+++ b/src/land/engine/ArcanistLandEngine.php
@@ -305,7 +305,7 @@
$viewer->getMonogram()));
foreach ($unauthored as $revision_ref) {
- $display_ref = $revision_ref->newDisplayRef();
+ $display_ref = $revision_ref->newRefView();
$author_ref = $revision_ref->getAuthorRef();
if ($author_ref) {
@@ -373,7 +373,7 @@
phutil_count($planned)));
foreach ($planned as $revision_ref) {
- echo tsprintf('%s', $revision_ref->newDisplayRef());
+ echo tsprintf('%s', $revision_ref->newRefView());
}
$query = pht(
@@ -402,7 +402,7 @@
$example_ref->getStatusDisplayName()));
foreach ($published as $revision_ref) {
- echo tsprintf('%s', $revision_ref->newDisplayRef());
+ echo tsprintf('%s', $revision_ref->newRefView());
}
$query = pht(
@@ -429,7 +429,7 @@
phutil_count($not_accepted)));
foreach ($not_accepted as $revision_ref) {
- $display_ref = $revision_ref->newDisplayRef();
+ $display_ref = $revision_ref->newRefView();
$display_ref->appendLine(
pht(
'Status: %s',
@@ -493,7 +493,7 @@
foreach ($open_parents as $parent_phid => $spec) {
$parent_ref = $spec['ref'];
- $display_ref = $parent_ref->newDisplayRef();
+ $display_ref = $parent_ref->newRefView();
$display_ref->appendLine(
pht(
@@ -686,38 +686,31 @@
$prompt_key = 'arc.land.ongoing-builds';
}
+ $workflow = $this->getWorkflow();
+
echo tsprintf("\n");
foreach ($build_map as $build_item) {
$revision_ref = $build_item['revisionRef'];
+ $revision_view = $revision_ref->newRefView();
+
+ $buildable_ref = $revision_ref->getBuildableRef();
+ $buildable_view = $buildable_ref->newRefView();
+
+ $raw_uri = $buildable_ref->getURI();
+ $raw_uri = $workflow->getAbsoluteURI($raw_uri);
+ $buildable_view->setURI($raw_uri);
- echo tsprintf('%s', $revision_ref->newDisplayRef());
+ $revision_view->addChild($buildable_view);
foreach ($build_item['buildRefs'] as $build_ref) {
- echo tsprintf('%s', $build_ref->newDisplayRef());
+ $build_view = $build_ref->newRefView();
+ $buildable_view->addChild($build_view);
}
+ echo tsprintf('%s', $revision_view);
echo tsprintf("\n");
}
- echo tsprintf(
- "\n%s\n",
- pht('You can review build details here:'));
-
- // TODO: Only show buildables with problem builds.
-
- $workflow = $this->getWorkflow();
-
- foreach ($buildable_refs as $buildable) {
- $display_ref = $buildable->newDisplayRef();
-
- $raw_uri = $buildable->getURI();
- $raw_uri = $workflow->getAbsoluteURI($raw_uri);
-
- $display_ref->setURI($raw_uri);
-
- echo tsprintf('%s', $display_ref);
- }
-
$this->getWorkflow()
->getPrompt($prompt_key)
->setQuery($query)
@@ -777,7 +770,7 @@
echo tsprintf(
"\n%s",
- $revision_ref->newDisplayRef());
+ $revision_ref->newRefView());
foreach ($set->getCommits() as $commit) {
$is_implicit = $commit->getIsImplicitCommit();
@@ -969,7 +962,7 @@
foreach ($revision_refs as $revision_ref) {
echo tsprintf(
'%s',
- $revision_ref->newDisplayRef());
+ $revision_ref->newRefView());
}
echo tsprintf("\n");
diff --git a/src/land/engine/ArcanistMercurialLandEngine.php b/src/land/engine/ArcanistMercurialLandEngine.php
--- a/src/land/engine/ArcanistMercurialLandEngine.php
+++ b/src/land/engine/ArcanistMercurialLandEngine.php
@@ -108,7 +108,7 @@
$marker_type));
foreach ($named_markers as $named_marker) {
- echo tsprintf('%s', $named_marker->newDisplayRef());
+ echo tsprintf('%s', $named_marker->newRefView());
}
echo tsprintf("\n");
@@ -327,7 +327,7 @@
pht('These branches were selected:'));
foreach ($branches as $branch) {
- echo tsprintf('%s', $branch->newDisplayRef());
+ echo tsprintf('%s', $branch->newRefView());
}
echo tsprintf("\n");
@@ -352,7 +352,7 @@
foreach ($new_markers as $new_marker) {
- echo tsprintf('%s', $new_marker->newDisplayRef());
+ echo tsprintf('%s', $new_marker->newRefView());
}
echo tsprintf("\n");
diff --git a/src/ref/ArcanistDisplayRefInterface.php b/src/ref/ArcanistDisplayRefInterface.php
deleted file mode 100644
--- a/src/ref/ArcanistDisplayRefInterface.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-interface ArcanistDisplayRefInterface {
-
- public function getDisplayRefObjectName();
- public function getDisplayRefTitle();
-
-}
diff --git a/src/ref/ArcanistRef.php b/src/ref/ArcanistRef.php
--- a/src/ref/ArcanistRef.php
+++ b/src/ref/ArcanistRef.php
@@ -5,8 +5,17 @@
abstract public function getRefDisplayName();
- final public function newDisplayRef() {
- return id(new ArcanistDisplayRef())
+ final public function newRefView() {
+ $ref_view = id(new ArcanistRefView())
->setRef($this);
+
+ $this->buildRefView($ref_view);
+
+ return $ref_view;
}
+
+ protected function buildRefView(ArcanistRefView $view) {
+ return null;
+ }
+
}
diff --git a/src/ref/ArcanistDisplayRef.php b/src/ref/ArcanistRefView.php
rename from src/ref/ArcanistDisplayRef.php
rename to src/ref/ArcanistRefView.php
--- a/src/ref/ArcanistDisplayRef.php
+++ b/src/ref/ArcanistRefView.php
@@ -1,13 +1,16 @@
<?php
-final class ArcanistDisplayRef
+final class ArcanistRefView
extends Phobject
implements
ArcanistTerminalStringInterface {
+ private $objectName;
+ private $title;
private $ref;
private $uri;
private $lines = array();
+ private $children = array();
public function setRef(ArcanistRef $ref) {
$this->ref = $ref;
@@ -18,6 +21,24 @@
return $this->ref;
}
+ public function setObjectName($object_name) {
+ $this->objectName = $object_name;
+ return $this;
+ }
+
+ public function getObjectName() {
+ return $this->objectName;
+ }
+
+ public function setTitle($title) {
+ $this->title = $title;
+ return $this;
+ }
+
+ public function getTitle() {
+ return $this->title;
+ }
+
public function setURI($uri) {
$this->uri = $uri;
return $this;
@@ -27,21 +48,29 @@
return $this->uri;
}
+ public function addChild(ArcanistRefView $view) {
+ $this->children[] = $view;
+ return $this;
+ }
+
+ private function getChildren() {
+ return $this->children;
+ }
+
public function appendLine($line) {
$this->lines[] = $line;
return $this;
}
public function newTerminalString() {
+ return $this->newLines(0);
+ }
+
+ private function newLines($indent) {
$ref = $this->getRef();
- if ($ref instanceof ArcanistDisplayRefInterface) {
- $object_name = $ref->getDisplayRefObjectName();
- $title = $ref->getDisplayRefTitle();
- } else {
- $object_name = null;
- $title = $ref->getRefDisplayName();
- }
+ $object_name = $this->getObjectName();
+ $title = $this->getTitle();
if ($object_name !== null) {
$reserve_width = phutil_utf8_console_strlen($object_name) + 1;
@@ -49,10 +78,18 @@
$reserve_width = 0;
}
+ if ($indent) {
+ $indent_text = str_repeat(' ', $indent);
+ } else {
+ $indent_text = '';
+ }
+ $indent_width = strlen($indent_text);
+
$marker_width = 6;
$display_width = phutil_console_get_terminal_width();
$usable_width = ($display_width - $marker_width - $reserve_width);
+ $usable_width = ($usable_width - $indent_width);
// If the terminal is extremely narrow, don't degrade so much that the
// output is completely unusable.
@@ -75,22 +112,32 @@
$display_text = $title;
}
- $ref = $this->getRef();
$output = array();
$output[] = tsprintf(
- "<bg:cyan>** * **</bg> %s\n",
+ "<bg:cyan>** * **</bg> %s%s\n",
+ $indent_text,
$display_text);
$uri = $this->getURI();
if ($uri !== null) {
$output[] = tsprintf(
- "<bg:cyan>** :// **</bg> __%s__\n",
+ "<bg:cyan>** :// **</bg> %s__%s__\n",
+ $indent_text,
$uri);
}
foreach ($this->lines as $line) {
- $output[] = tsprintf(" %s\n", $line);
+ $output[] = tsprintf(
+ " %s%s\n",
+ $indent_text,
+ $line);
+ }
+
+ foreach ($this->getChildren() as $child) {
+ foreach ($child->newLines($indent + 1) as $line) {
+ $output[] = $line;
+ }
}
return $output;
diff --git a/src/ref/build/ArcanistBuildRef.php b/src/ref/build/ArcanistBuildRef.php
--- a/src/ref/build/ArcanistBuildRef.php
+++ b/src/ref/build/ArcanistBuildRef.php
@@ -1,9 +1,7 @@
<?php
final class ArcanistBuildRef
- extends ArcanistRef
- implements
- ArcanistDisplayRefInterface {
+ extends ArcanistRef {
const HARDPOINT_BUILDPLANREF = 'ref.build.buildplanRef';
@@ -16,7 +14,7 @@
}
public function getRefDisplayName() {
- return $this->getDisplayRefObjectName();
+ return pht('Build %d', $this->getID());
}
public static function newFromConduit(array $parameters) {
@@ -37,12 +35,10 @@
return idxv($this->parameters, array('fields', 'name'));
}
- public function getDisplayRefObjectName() {
- return pht('Build %d', $this->getID());
- }
-
- public function getDisplayRefTitle() {
- return $this->getName();
+ protected function buildRefView(ArcanistRefView $view) {
+ $view
+ ->setObjectName($this->getRefDisplayName())
+ ->setTitle($this->getName());
}
public function getBuildPlanRef() {
diff --git a/src/ref/buildable/ArcanistBuildableRef.php b/src/ref/buildable/ArcanistBuildableRef.php
--- a/src/ref/buildable/ArcanistBuildableRef.php
+++ b/src/ref/buildable/ArcanistBuildableRef.php
@@ -1,9 +1,7 @@
<?php
final class ArcanistBuildableRef
- extends ArcanistRef
- implements
- ArcanistDisplayRefInterface {
+ extends ArcanistRef {
const HARDPOINT_BUILDREFS = 'ref.buildable.buildRefs';
@@ -44,12 +42,10 @@
return 'B'.$this->getID();
}
- public function getDisplayRefObjectName() {
- return $this->getMonogram();
- }
-
- public function getDisplayRefTitle() {
- return pht('Buildable %d', $this->getID());
+ protected function buildRefView(ArcanistRefView $view) {
+ $view
+ ->setObjectName($this->getMonogram())
+ ->setTitle($this->getRefDisplayName());
}
public function getBuildRefs() {
diff --git a/src/ref/buildplan/ArcanistBuildPlanRef.php b/src/ref/buildplan/ArcanistBuildPlanRef.php
--- a/src/ref/buildplan/ArcanistBuildPlanRef.php
+++ b/src/ref/buildplan/ArcanistBuildPlanRef.php
@@ -1,14 +1,12 @@
<?php
final class ArcanistBuildPlanRef
- extends ArcanistRef
- implements
- ArcanistDisplayRefInterface {
+ extends ArcanistRef {
private $parameters;
public function getRefDisplayName() {
- return $this->getDisplayRefObjectName();
+ return pht('Build Plan %d', $this->getID());
}
public static function newFromConduit(array $parameters) {
@@ -29,14 +27,6 @@
return idxv($this->parameters, array('fields', 'name'));
}
- public function getDisplayRefObjectName() {
- return pht('Build Plan %d', $this->getID());
- }
-
- public function getDisplayRefTitle() {
- return $this->getName();
- }
-
public function getBehavior($behavior_key, $default = null) {
return idxv(
$this->parameters,
@@ -44,4 +34,10 @@
$default);
}
+ protected function buildRefView(ArcanistRefView $view) {
+ $view
+ ->setObjectName($this->getRefDisplayName())
+ ->setTitle($this->getName());
+ }
+
}
diff --git a/src/ref/file/ArcanistFileRef.php b/src/ref/file/ArcanistFileRef.php
--- a/src/ref/file/ArcanistFileRef.php
+++ b/src/ref/file/ArcanistFileRef.php
@@ -1,9 +1,7 @@
<?php
final class ArcanistFileRef
- extends ArcanistRef
- implements
- ArcanistDisplayRefInterface {
+ extends ArcanistRef {
private $parameters;
@@ -51,12 +49,10 @@
return 'F'.$this->getID();
}
- public function getDisplayRefObjectName() {
- return $this->getMonogram();
- }
-
- public function getDisplayRefTitle() {
- return $this->getName();
+ protected function buildRefView(ArcanistRefView $view) {
+ $view
+ ->setObjectName($this->getMonogram())
+ ->setTitle($this->getName());
}
}
diff --git a/src/ref/paste/ArcanistPasteRef.php b/src/ref/paste/ArcanistPasteRef.php
--- a/src/ref/paste/ArcanistPasteRef.php
+++ b/src/ref/paste/ArcanistPasteRef.php
@@ -1,9 +1,7 @@
<?php
final class ArcanistPasteRef
- extends ArcanistRef
- implements
- ArcanistDisplayRefInterface {
+ extends ArcanistRef {
private $parameters;
@@ -47,12 +45,10 @@
return 'P'.$this->getID();
}
- public function getDisplayRefObjectName() {
- return $this->getMonogram();
- }
-
- public function getDisplayRefTitle() {
- return $this->getTitle();
+ protected function buildRefView(ArcanistRefView $view) {
+ $view
+ ->setObjectName($this->getMonogram())
+ ->setTitle($this->getName());
}
}
diff --git a/src/ref/revision/ArcanistRevisionRef.php b/src/ref/revision/ArcanistRevisionRef.php
--- a/src/ref/revision/ArcanistRevisionRef.php
+++ b/src/ref/revision/ArcanistRevisionRef.php
@@ -1,9 +1,7 @@
<?php
final class ArcanistRevisionRef
- extends ArcanistRef
- implements
- ArcanistDisplayRefInterface {
+ extends ArcanistRef {
const HARDPOINT_COMMITMESSAGE = 'ref.revision.commitmessage';
const HARDPOINT_AUTHORREF = 'ref.revision.authorRef';
@@ -167,12 +165,10 @@
return $this->getHardpoint(self::HARDPOINT_BUILDABLEREF);
}
- public function getDisplayRefObjectName() {
- return $this->getMonogram();
- }
-
- public function getDisplayRefTitle() {
- return $this->getName();
+ protected function buildRefView(ArcanistRefView $view) {
+ $view
+ ->setObjectName($this->getMonogram())
+ ->setTitle($this->getTitle());
}
}
diff --git a/src/ref/task/ArcanistTaskRef.php b/src/ref/task/ArcanistTaskRef.php
--- a/src/ref/task/ArcanistTaskRef.php
+++ b/src/ref/task/ArcanistTaskRef.php
@@ -1,9 +1,7 @@
<?php
final class ArcanistTaskRef
- extends ArcanistRef
- implements
- ArcanistDisplayRefInterface {
+ extends ArcanistRef {
private $parameters;
@@ -33,12 +31,10 @@
return 'T'.$this->getID();
}
- public function getDisplayRefObjectName() {
- return $this->getMonogram();
- }
-
- public function getDisplayRefTitle() {
- return $this->getName();
+ protected function buildRefView(ArcanistRefView $view) {
+ $view
+ ->setObjectName($this->getMonogram())
+ ->setTitle($this->getName());
}
}
diff --git a/src/ref/user/ArcanistUserRef.php b/src/ref/user/ArcanistUserRef.php
--- a/src/ref/user/ArcanistUserRef.php
+++ b/src/ref/user/ArcanistUserRef.php
@@ -1,9 +1,7 @@
<?php
final class ArcanistUserRef
- extends ArcanistRef
- implements
- ArcanistDisplayRefInterface {
+ extends ArcanistRef {
private $parameters;
@@ -49,18 +47,16 @@
return idxv($this->parameters, array('fields', 'realName'));
}
- public function getDisplayRefObjectName() {
- return $this->getMonogram();
- }
-
- public function getDisplayRefTitle() {
+ protected function buildRefView(ArcanistRefView $view) {
$real_name = $this->getRealName();
-
if (strlen($real_name)) {
$real_name = sprintf('(%s)', $real_name);
}
- return $real_name;
+ $view
+ ->setObjectName($this->getMonogram())
+ ->setTitle($real_name);
}
+
}
diff --git a/src/repository/marker/ArcanistMarkerRef.php b/src/repository/marker/ArcanistMarkerRef.php
--- a/src/repository/marker/ArcanistMarkerRef.php
+++ b/src/repository/marker/ArcanistMarkerRef.php
@@ -1,9 +1,7 @@
<?php
final class ArcanistMarkerRef
- extends ArcanistRef
- implements
- ArcanistDisplayRefInterface {
+ extends ArcanistRef {
const HARDPOINT_COMMITREF = 'arc.marker.commitRef';
const HARDPOINT_WORKINGCOPYSTATEREF = 'arc.marker.workingCopyStateRef';
@@ -24,10 +22,6 @@
private $isActive = false;
public function getRefDisplayName() {
- return $this->getDisplayRefObjectName();
- }
-
- public function getDisplayRefObjectName() {
switch ($this->getMarkerType()) {
case self::TYPE_BRANCH:
return pht('Branch "%s"', $this->getName());
@@ -38,13 +32,6 @@
}
}
- public function getDisplayRefTitle() {
- return pht(
- '%s %s',
- $this->getDisplayHash(),
- $this->getSummary());
- }
-
protected function newHardpoints() {
return array(
$this->newHardpoint(self::HARDPOINT_COMMITREF),
@@ -98,8 +85,6 @@
return $this->displayHash;
}
-
-
public function setCommitHash($commit_hash) {
$this->commitHash = $commit_hash;
return $this;
@@ -177,4 +162,15 @@
return $this->getHardpoint(self::HARDPOINT_REMOTEREF);
}
+ protected function buildRefView(ArcanistRefView $view) {
+ $title = pht(
+ '%s %s',
+ $this->getDisplayHash(),
+ $this->getSummary());
+
+ $view
+ ->setObjectName($this->getRefDisplayName())
+ ->setTitle($title);
+ }
+
}
diff --git a/src/work/ArcanistWorkEngine.php b/src/work/ArcanistWorkEngine.php
--- a/src/work/ArcanistWorkEngine.php
+++ b/src/work/ArcanistWorkEngine.php
@@ -163,7 +163,7 @@
$revision_ref->getMonogram()));
foreach ($selected as $marker) {
- echo tsprintf('%s', $marker->newDisplayRef());
+ echo tsprintf('%s', $marker->newRefView());
}
echo tsprintf("\n");
@@ -177,7 +177,7 @@
pht('REVISION'),
pht('Resuming work on revision:'));
- echo tsprintf('%s', $revision_ref->newDisplayRef());
+ echo tsprintf('%s', $revision_ref->newRefView());
echo tsprintf("\n");
return $target;
diff --git a/src/workflow/ArcanistAmendWorkflow.php b/src/workflow/ArcanistAmendWorkflow.php
--- a/src/workflow/ArcanistAmendWorkflow.php
+++ b/src/workflow/ArcanistAmendWorkflow.php
@@ -108,7 +108,7 @@
echo tsprintf(
"%s\n\n%s\n",
pht('Amending commit message to reflect revision:'),
- $revision_ref->newDisplayRef());
+ $revision_ref->newRefView());
$this->confirmAmendAuthor($revision_ref);
$this->confirmAmendNotFound($revision_ref, $state_ref);
@@ -193,7 +193,7 @@
"%!\n%W\n\n%B\n",
pht('MULTIPLE REVISIONS IN WORKING COPY'),
pht('More than one revision was found in the working copy:'),
- mpull($revisions, 'newDisplayRef'));
+ mpull($revisions, 'newRefView'));
throw new PhutilArgumentUsageException(
pht(
@@ -233,7 +233,7 @@
'The author of this revision (%s) is:',
$revision_ref->getMonogram()),
),
- $author_ref->newDisplayRef());
+ $author_ref->newRefView());
$prompt = pht(
'Amend working copy using revision owned by %s?',
diff --git a/src/workflow/ArcanistPasteWorkflow.php b/src/workflow/ArcanistPasteWorkflow.php
--- a/src/workflow/ArcanistPasteWorkflow.php
+++ b/src/workflow/ArcanistPasteWorkflow.php
@@ -159,7 +159,7 @@
echo tsprintf(
'%s',
- $paste_ref->newDisplayRef()
+ $paste_ref->newRefView()
->setURI($uri));
if ($is_browse) {
diff --git a/src/workflow/ArcanistUploadWorkflow.php b/src/workflow/ArcanistUploadWorkflow.php
--- a/src/workflow/ArcanistUploadWorkflow.php
+++ b/src/workflow/ArcanistUploadWorkflow.php
@@ -119,7 +119,7 @@
$uri = $this->getAbsoluteURI($uri);
echo tsprintf(
'%s',
- $ref->newDisplayRef()
+ $ref->newRefView()
->setURI($uri));
}
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Mon, Mar 10, 4:06 PM (1 d, 18 h ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7223346
Default Alt Text
D21352.id50865.diff (26 KB)
Attached To
Mode
D21352: Update "arc land" display of build failures, and rename "DisplayRef" to "RefView"
Attached
Detach File
Event Timeline
Log In to Comment