mirror of
https://we.phorge.it/source/arcanist.git
synced 2024-11-22 14:52:40 +01:00
Fix an issue with arc branch
and very old branches
Summary: In D9595, we stopped parsing short-form "Differential Revision:" fields in commit messages, and only accept URLs. I have one of the older style commit messages in my local `arcanist/`, so now we go down this parse failure branch in `arc branch`. This has never worked quite correctly, and if the parse fails we end up with a bad branch dictionary that is missing fields. Test Plan: Ran `arc branch` in a working copy with an old `Differential Revision:` field at the head of a branch. Before patch: explosions; after patch: works great. Reviewers: joshuaspence Reviewed By: joshuaspence Subscribers: epriestley Differential Revision: https://secure.phabricator.com/D9620
This commit is contained in:
parent
dd1f93d77b
commit
2198cc2849
1 changed files with 8 additions and 8 deletions
|
@ -197,22 +197,22 @@ EOTEXT
|
|||
list($info) = $future->resolvex();
|
||||
list($hash, $epoch, $tree, $desc, $text) = explode("\1", trim($info), 5);
|
||||
|
||||
$branch = $branches[$name];
|
||||
$branch['hash'] = $hash;
|
||||
$branch['desc'] = $desc;
|
||||
$branch = $branches[$name] + array(
|
||||
'hash' => $hash,
|
||||
'desc' => $desc,
|
||||
'tree' => $tree,
|
||||
'epoch' => (int)$epoch,
|
||||
);
|
||||
|
||||
try {
|
||||
$message = ArcanistDifferentialCommitMessage::newFromRawCorpus($text);
|
||||
$id = $message->getRevisionID();
|
||||
|
||||
$branch += array(
|
||||
'epoch' => (int)$epoch,
|
||||
'tree' => $tree,
|
||||
'revisionID' => $id,
|
||||
);
|
||||
$branch['revisionID'] = $id;
|
||||
} catch (ArcanistUsageException $ex) {
|
||||
// In case of invalid commit message which fails the parsing,
|
||||
// do nothing.
|
||||
$branch['revisionID'] = null;
|
||||
}
|
||||
|
||||
$branches[$name] = $branch;
|
||||
|
|
Loading…
Reference in a new issue