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

Allow users to skip "arc:prompt" by entering no text

Summary:
Fixes T9476. Currently, if you enter no text in "arc:prompt", we abort resolution immediately.

However, this is a bit inconsistent (other rules that fail to resolve are skipped) it is reasonable to put some default rule behind "arc:prompt" so that you can just mash enter to select it. This construction is unusual, but seems fine and sensible to me.

If you're using "arc:prompt" as the last rule, the behavior is the same as before, so this should only make the rule more useful.

Test Plan:
  - Ran `arc which --base 'arc:prompt, git:HEAD^'` with and without the patch.
  - Without the patch, entering no text at "arc:prompt" failed immediately.
  - With the patch, entering no text caused fallback to the "git:HEAD^" rule.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T9476

Differential Revision: https://secure.phabricator.com/D14187
This commit is contained in:
epriestley 2015-09-29 07:09:19 -07:00
parent e8a0ebaeff
commit 2df96ed405

View file

@ -133,7 +133,13 @@ final class ArcanistBaseCommitParser extends Phobject {
case 'prompt': case 'prompt':
$reason = pht('it is what you typed when prompted.'); $reason = pht('it is what you typed when prompted.');
$this->api->setBaseCommitExplanation($reason); $this->api->setBaseCommitExplanation($reason);
return phutil_console_prompt(pht('Against which commit?')); $result = phutil_console_prompt(pht('Against which commit?'));
if (!strlen($result)) {
// Allow the user to continue to the next rule by entering no
// text.
return null;
}
return $result;
case 'local': case 'local':
case 'user': case 'user':
case 'project': case 'project':