1
0
Fork 0
mirror of https://we.phorge.it/source/arcanist.git synced 2024-11-25 08:12:40 +01:00

Fix a PHP 8.1 repository marker issue in Mercurial

Summary:
Ref T13588. "arc-ls-markers" emits a "branch-state" marker so callers can identify which branch is active in the working copy.

This marker doesn't have an associated commit, so trying to generate a display name fails under stricter PHP 8.1 rules when we try to `substr(null, ...)`.

Don't attempt to generate a display name for markers with no commit hash.

Test Plan:
  - Ran `arc branches` under PHP 8.1 in a Mercurial repository.
  - Before: fatal.
  - After: sensible output.

Maniphest Tasks: T13588

Differential Revision: https://secure.phabricator.com/D21825
This commit is contained in:
epriestley 2022-05-17 16:15:03 -07:00
parent 942b54a697
commit 85c953ebe4

View file

@ -64,8 +64,10 @@ abstract class ArcanistRepositoryMarkerQuery
$marker->attachWorkingCopyStateRef($state_ref); $marker->attachWorkingCopyStateRef($state_ref);
$hash = $marker->getCommitHash(); $hash = $marker->getCommitHash();
$hash = $api->getDisplayHash($hash); if ($hash !== null) {
$marker->setDisplayHash($hash); $hash = $api->getDisplayHash($hash);
$marker->setDisplayHash($hash);
}
} }
$types = $this->markerTypes; $types = $this->markerTypes;