1
0
Fork 0
mirror of https://we.phorge.it/source/arcanist.git synced 2025-02-02 09:58:23 +01:00

Fix an issue where branches at the same commit race to destruction in "arc branch"

Summary:
If two branches have the same HEAD, they currently race to overwrite each other in $commit_map.

We don't need to return a map indexed by commit since nothing ever reads the keys out of it. Just update $branches in place.

Test Plan: With two branches at the same HEAD, ran "arc branch". Saw both branches in output.

Reviewers: vrana, btrahan

Reviewed By: btrahan

CC: aran

Differential Revision: https://secure.phabricator.com/D3188
This commit is contained in:
epriestley 2012-08-07 18:21:32 -07:00
parent fae2adba9e
commit cb5cfb28cd

View file

@ -109,7 +109,6 @@ EOTEXT
$branches = ipull($branches, null, 'name');
$commit_map = array();
foreach (Futures($futures) as $name => $future) {
list($info) = $future->resolvex();
list($hash, $epoch, $tree, $desc, $text) = explode("\1", trim($info), 5);
@ -133,10 +132,10 @@ EOTEXT
// do nothing.
}
$commit_map[$hash] = $branch;
$branches[$name] = $branch;
}
return $commit_map;
return $branches;
}
private function loadRevisions(array $branches) {