mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-07 15:05:43 +02:00
[ticket/10044] Stop when failed to retrieve network/collaborators.
PHPBB3-10044
This commit is contained in:
parent
bf137b7005
commit
ed53cef0aa
@ -50,58 +50,68 @@ $repository = get_arg($opts, 'r', 'phpbb3');
|
|||||||
$developer = get_arg($opts, 'm', '');
|
$developer = get_arg($opts, 'm', '');
|
||||||
$dry_run = !get_arg($opts, 'd', true);
|
$dry_run = !get_arg($opts, 'd', true);
|
||||||
run(null, $dry_run);
|
run(null, $dry_run);
|
||||||
|
exit(work($scope, $username, $repository, $developer));
|
||||||
|
|
||||||
// Get some basic data
|
function work($scope, $username, $repository, $developer)
|
||||||
$network = get_network($username, $repository);
|
|
||||||
$collaborators = get_collaborators($username, $repository);
|
|
||||||
|
|
||||||
switch ($scope)
|
|
||||||
{
|
{
|
||||||
case 'collaborators':
|
// Get some basic data
|
||||||
$remotes = array_intersect_key($network, $collaborators);
|
$network = get_network($username, $repository);
|
||||||
break;
|
$collaborators = get_collaborators($username, $repository);
|
||||||
|
|
||||||
case 'organisation':
|
if ($network === false || $collaborators === false)
|
||||||
$remotes = array_intersect_key($network, get_organisation_members($username));
|
{
|
||||||
break;
|
echo "Error: failed to retrieve network or collaborators\n";
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
case 'contributors':
|
switch ($scope)
|
||||||
$remotes = array_intersect_key($network, get_contributors($username, $repository));
|
{
|
||||||
break;
|
case 'collaborators':
|
||||||
|
$remotes = array_intersect_key($network, $collaborators);
|
||||||
|
break;
|
||||||
|
|
||||||
case 'network':
|
case 'organisation':
|
||||||
$remotes = $network;
|
$remotes = array_intersect_key($network, get_organisation_members($username));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
case 'contributors':
|
||||||
show_usage();
|
$remotes = array_intersect_key($network, get_contributors($username, $repository));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'network':
|
||||||
|
$remotes = $network;
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
show_usage();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (file_exists('.git'))
|
||||||
|
{
|
||||||
|
add_remote($username, $repository, isset($collaborators[$developer]));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
clone_repository($username, $repository, isset($collaborators[$developer]));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add private security repository for developers
|
||||||
|
if ($username == 'phpbb' && $repository == 'phpbb3' && isset($collaborators[$developer]))
|
||||||
|
{
|
||||||
|
run("git remote add $username-security " . get_repository_url($username, "$repository-security", true));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Skip blessed repository.
|
||||||
|
unset($remotes[$username]);
|
||||||
|
|
||||||
|
foreach ($remotes as $remote)
|
||||||
|
{
|
||||||
|
add_remote($remote['username'], $remote['repository'], $remote['username'] == $developer);
|
||||||
|
}
|
||||||
|
|
||||||
|
run('git remote update');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (file_exists('.git'))
|
|
||||||
{
|
|
||||||
add_remote($username, $repository, isset($collaborators[$developer]));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
clone_repository($username, $repository, isset($collaborators[$developer]));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Add private security repository for developers
|
|
||||||
if ($username == 'phpbb' && $repository == 'phpbb3' && isset($collaborators[$developer]))
|
|
||||||
{
|
|
||||||
run("git remote add $username-security " . get_repository_url($username, "$repository-security", true));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Skip blessed repository.
|
|
||||||
unset($remotes[$username]);
|
|
||||||
|
|
||||||
foreach ($remotes as $remote)
|
|
||||||
{
|
|
||||||
add_remote($remote['username'], $remote['repository'], $remote['username'] == $developer);
|
|
||||||
}
|
|
||||||
|
|
||||||
run('git remote update');
|
|
||||||
|
|
||||||
function clone_repository($username, $repository, $pushable = false)
|
function clone_repository($username, $repository, $pushable = false)
|
||||||
{
|
{
|
||||||
$url = get_repository_url($username, $repository, false);
|
$url = get_repository_url($username, $repository, false);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user