1
0
Fork 0
mirror of https://we.phorge.it/source/arcanist.git synced 2024-11-22 06:42:41 +01:00

Detect repo for 'browse'; don't require project ID

Test Plan: Ran 'arc browse' in a repo that contains a .arcconfig and one without.

Reviewers: epriestley, #blessed_reviewers

Reviewed By: epriestley

CC: Korvin, epriestley, aran

Differential Revision: https://secure.phabricator.com/D8173
This commit is contained in:
Ben Alpert 2014-02-09 08:55:16 -08:00 committed by epriestley
parent 7c46000527
commit c3fe03db08
2 changed files with 18 additions and 12 deletions

View file

@ -1527,7 +1527,7 @@ abstract class ArcanistBaseWorkflow extends Phobject {
/**
* Get the PHID of the Phabricator repository this working copy corresponds
* to. Returns `null` no repository can be identified.
* to. Returns `null` if no repository can be identified.
*
* @return phid|null Repository PHID, or null if no repository can be
* identified.
@ -1541,7 +1541,7 @@ abstract class ArcanistBaseWorkflow extends Phobject {
/**
* Get the callsign of the Phabricator repository this working copy
* corresponds to. Returns `null` no repository can be identified.
* corresponds to. Returns `null` if no repository can be identified.
*
* @return string|null Repository callsign, or null if no repository can be
* identified.
@ -1553,6 +1553,20 @@ abstract class ArcanistBaseWorkflow extends Phobject {
}
/**
* Get the URI of the Phabricator repository this working copy
* corresponds to. Returns `null` if no repository can be identified.
*
* @return string|null Repository URI, or null if no repository can be
* identified.
*
* @task phabrep
*/
protected function getRepositoryURI() {
return idx($this->getRepositoryInformation(), 'uri');
}
/**
* Get human-readable reasoning explaining how `arc` evaluated which
* Phabricator repository corresponds to this working copy. Used by

View file

@ -108,18 +108,10 @@ EOTEXT
}
private function getBaseURI() {
$conduit = $this->getConduit();
$project_id = $this->getWorkingCopy()->getProjectID();
$project_info = $this->getConduit()->callMethodSynchronous(
'arcanist.projectinfo',
array(
'name' => $project_id,
));
$repo_info = $project_info['repository'];
$repo_uri = $this->getRepositoryURI();
$branch = $this->getArgument('branch', 'master');
return $repo_info['uri'].'browse/'.$branch.'/';
return $repo_uri.'browse/'.$branch.'/';
}
private function getBrowserCommand() {