mirror of
https://we.phorge.it/source/arcanist.git
synced 2024-11-22 06:42:41 +01:00
In "arc land", rebase branches in natural order
Summary: Ref T13546. When "arc land" performs cascading rebases, do them in "feature1", "feature2", etc., order so they're easier to follow. The outcome is not dependent on execution order. Test Plan: Landed a change which cascaded many other branches, saw more comprehensible update order. Maniphest Tasks: T13546 Differential Revision: https://secure.phabricator.com/D21320
This commit is contained in:
parent
68f28a1718
commit
25afb93f7a
3 changed files with 17 additions and 1 deletions
|
@ -103,6 +103,11 @@ final class ArcanistGitLandEngine
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Sort the result so that branches are processed in natural order.
|
||||||
|
$names = array_keys($result);
|
||||||
|
natcasesort($names);
|
||||||
|
$result = array_select_keys($result, $names);
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -140,6 +140,15 @@ abstract class ArcanistLandEngine extends Phobject {
|
||||||
return $this->shouldKeep;
|
return $this->shouldKeep;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final public function setStrategyArgument($strategy_argument) {
|
||||||
|
$this->strategyArgument = $strategy_argument;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
final public function getStrategyArgument() {
|
||||||
|
return $this->strategyArgument;
|
||||||
|
}
|
||||||
|
|
||||||
final public function setStrategy($strategy) {
|
final public function setStrategy($strategy) {
|
||||||
$this->strategy = $strategy;
|
$this->strategy = $strategy;
|
||||||
return $this;
|
return $this;
|
||||||
|
|
|
@ -2357,11 +2357,13 @@ abstract class ArcanistWorkflow extends Phobject {
|
||||||
$prompts = $this->newPrompts();
|
$prompts = $this->newPrompts();
|
||||||
assert_instances_of($prompts, 'ArcanistPrompt');
|
assert_instances_of($prompts, 'ArcanistPrompt');
|
||||||
|
|
||||||
|
// TODO: Move this somewhere modular.
|
||||||
|
|
||||||
$prompts[] = $this->newPrompt('arc.state.stash')
|
$prompts[] = $this->newPrompt('arc.state.stash')
|
||||||
->setDescription(
|
->setDescription(
|
||||||
pht(
|
pht(
|
||||||
'Prompts the user to stash changes and continue when the '.
|
'Prompts the user to stash changes and continue when the '.
|
||||||
'working copy has untracked, uncommitted. or unstaged '.
|
'working copy has untracked, uncommitted, or unstaged '.
|
||||||
'changes.'));
|
'changes.'));
|
||||||
|
|
||||||
// TODO: Swap to ArrayCheck?
|
// TODO: Swap to ArrayCheck?
|
||||||
|
|
Loading…
Reference in a new issue