function GitLabDriver::getReferences
Return value
string[] where keys are named references like tags or branches and the value a sha
2 calls to GitLabDriver::getReferences()
- GitLabDriver::getBranches in vendor/
composer/ composer/ src/ Composer/ Repository/ Vcs/ GitLabDriver.php - @inheritDoc
- GitLabDriver::getTags in vendor/
composer/ composer/ src/ Composer/ Repository/ Vcs/ GitLabDriver.php - @inheritDoc
File
-
vendor/
composer/ composer/ src/ Composer/ Repository/ Vcs/ GitLabDriver.php, line 352
Class
- GitLabDriver
- Driver for GitLab API, use the Git driver for local checkouts.
Namespace
Composer\Repository\VcsCode
protected function getReferences(string $type) : array {
$perPage = 100;
$resource = $this->getApiUrl() . '/repository/' . $type . '?per_page=' . $perPage;
$references = [];
do {
$response = $this->getContents($resource);
$data = $response->decodeJson();
foreach ($data as $datum) {
$references[$datum['name']] = $datum['commit']['id'];
// Keep the last commit date of a reference to avoid
// unnecessary API call when retrieving the composer file.
$this->commits[$datum['commit']['id']] = $datum['commit'];
}
if (count($data) >= $perPage) {
$resource = $this->getNextPage($response);
}
else {
$resource = false;
}
} while ($resource);
return $references;
}