1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-23 22:10:55 +01:00

Possibly fix issue where refs engine finds empty refs?

Summary:
@mbishopim3 reported an issue in IRC:

> mbishopim3: epriestley: "Error updating working copy: Commit "" has not been discovered yet! Run discovery before updating refs." any ideas?

I can't reproduce it and it went away for him, but one theory is that we're getting here and git/hg are spitting out nothing, which we incorrectly parse as `array("")` when we intend `array()`.

Test Plan:
Pushed some new commits, ran `bin/repositoy refs X`, got expected results.

I can't actually reproduce the bug, but this might fix it and appears to make the code more correct.

Reviewers: btrahan

Reviewed By: btrahan

CC: mbishopim3, aran

Differential Revision: https://secure.phabricator.com/D8326
This commit is contained in:
epriestley 2014-02-24 14:39:44 -08:00
parent ca851c4d85
commit 763a049f74

View file

@ -247,6 +247,11 @@ final class PhabricatorRepositoryRefEngine
'{node}\n', '{node}\n',
hgsprintf('%s', $new_head)); hgsprintf('%s', $new_head));
} }
$stdout = trim($stdout);
if (!strlen($stdout)) {
return array();
}
return phutil_split_lines($stdout, $retain_newlines = false); return phutil_split_lines($stdout, $retain_newlines = false);
case PhabricatorRepositoryType::REPOSITORY_TYPE_GIT: case PhabricatorRepositoryType::REPOSITORY_TYPE_GIT:
if ($all_closing_heads) { if ($all_closing_heads) {
@ -261,6 +266,11 @@ final class PhabricatorRepositoryRefEngine
'%H', '%H',
$new_head); $new_head);
} }
$stdout = trim($stdout);
if (!strlen($stdout)) {
return array();
}
return phutil_split_lines($stdout, $retain_newlines = false); return phutil_split_lines($stdout, $retain_newlines = false);
default: default:
throw new Exception(pht('Unsupported VCS "%s"!', $vcs)); throw new Exception(pht('Unsupported VCS "%s"!', $vcs));