mirror of
https://we.phorge.it/source/arcanist.git
synced 2024-11-21 22:32:41 +01:00
Make "no working copy" a more explicit "arc" VCS
Summary: Some commands (like `get-config`) do not require a working copy at all. Recent changes prevented these commands from running outside a VCS working copy. Let `null` mean "no working copy". See also <https://github.com/phacility/phabricator/issues/800>. Test Plan: - Ran `arc get-config` from outside a working copy. - Ran `arc list` from outside a working copy, got an error. - Ran `arc commit` in a Git working copy, got an error. Reviewers: joshuaspence Reviewed By: joshuaspence Subscribers: epriestley Differential Revision: https://secure.phabricator.com/D11643
This commit is contained in:
parent
77eb24b13a
commit
a08383aa1b
2 changed files with 17 additions and 10 deletions
|
@ -202,17 +202,21 @@ try {
|
||||||
$workflow->setConduitTimeout($conduit_timeout);
|
$workflow->setConduitTimeout($conduit_timeout);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$need_working_copy = $workflow->requiresWorkingCopy();
|
||||||
|
|
||||||
$supported_vcs_types = $workflow->getSupportedRevisionControlSystems();
|
$supported_vcs_types = $workflow->getSupportedRevisionControlSystems();
|
||||||
if (!in_array($working_copy->getVCSType(), $supported_vcs_types)) {
|
$vcs_type = $working_copy->getVCSType();
|
||||||
throw new ArcanistUsageException(
|
if ($vcs_type || $need_working_copy) {
|
||||||
pht(
|
if (!in_array($vcs_type, $supported_vcs_types)) {
|
||||||
'`%s %s` is only supported under %s.',
|
throw new ArcanistUsageException(
|
||||||
'arc',
|
pht(
|
||||||
$workflow->getWorkflowName(),
|
'`%s %s` is only supported under %s.',
|
||||||
implode(', ', $supported_vcs_types)));
|
'arc',
|
||||||
|
$workflow->getWorkflowName(),
|
||||||
|
implode(', ', $supported_vcs_types)));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$need_working_copy = $workflow->requiresWorkingCopy();
|
|
||||||
$need_conduit = $workflow->requiresConduit();
|
$need_conduit = $workflow->requiresConduit();
|
||||||
$need_auth = $workflow->requiresAuthentication();
|
$need_auth = $workflow->requiresAuthentication();
|
||||||
$need_repository_api = $workflow->requiresRepositoryAPI();
|
$need_repository_api = $workflow->requiresRepositoryAPI();
|
||||||
|
|
|
@ -82,8 +82,11 @@ EOTEXT
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!in_array($vcs, $workflow->getSupportedRevisionControlSystems())) {
|
if ($vcs || $workflow->requiresWorkingCopy()) {
|
||||||
continue;
|
$supported_vcs = $workflow->getSupportedRevisionControlSystems();
|
||||||
|
if (!in_array($vcs, $supported_vcs)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$complete[] = $name;
|
$complete[] = $name;
|
||||||
|
|
Loading…
Reference in a new issue