private function detectAdapterName()
{
$adapterFactory = $this->application->getAdapterFactory();
$appConfig = $this->application->getConfig();
$remote = $this->findRemoteName();
if (null === $remote) {
return;
}
$remoteUrl = $this->gitConfigHelper->getGitConfig('remote.' . $remote . '.url');
$adapters = $adapterFactory->allOfType(AdapterFactory::SUPPORT_REPOSITORY_MANAGER);
foreach ($adapters as $adapterName => $adapterInfo) {
if (null === ($config = $appConfig->get(['adapters', $adapterName]))) {
continue;
}
$adapter = $adapterFactory->createRepositoryManager($adapterName, $config, $appConfig);
if ($adapter->supportsRepository($remoteUrl)) {
return $adapterName;
}
}
return;
}