[ticket/10044] Stop when failed to retrieve network/collaborators.

PHPBB3-10044
This commit is contained in:
Oleg Pudeyev 2011-02-15 05:13:48 -05:00
parent bf137b7005
commit ed53cef0aa

View file

@ -50,13 +50,22 @@ $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)
{ {
// Get some basic data
$network = get_network($username, $repository);
$collaborators = get_collaborators($username, $repository);
if ($network === false || $collaborators === false)
{
echo "Error: failed to retrieve network or collaborators\n";
return 1;
}
switch ($scope)
{
case 'collaborators': case 'collaborators':
$remotes = array_intersect_key($network, $collaborators); $remotes = array_intersect_key($network, $collaborators);
break; break;
@ -75,32 +84,33 @@ switch ($scope)
default: default:
show_usage(); show_usage();
} }
if (file_exists('.git')) if (file_exists('.git'))
{ {
add_remote($username, $repository, isset($collaborators[$developer])); add_remote($username, $repository, isset($collaborators[$developer]));
} }
else else
{ {
clone_repository($username, $repository, isset($collaborators[$developer])); clone_repository($username, $repository, isset($collaborators[$developer]));
} }
// Add private security repository for developers // Add private security repository for developers
if ($username == 'phpbb' && $repository == 'phpbb3' && isset($collaborators[$developer])) if ($username == 'phpbb' && $repository == 'phpbb3' && isset($collaborators[$developer]))
{ {
run("git remote add $username-security " . get_repository_url($username, "$repository-security", true)); run("git remote add $username-security " . get_repository_url($username, "$repository-security", true));
} }
// Skip blessed repository. // Skip blessed repository.
unset($remotes[$username]); unset($remotes[$username]);
foreach ($remotes as $remote) foreach ($remotes as $remote)
{ {
add_remote($remote['username'], $remote['repository'], $remote['username'] == $developer); add_remote($remote['username'], $remote['repository'], $remote['username'] == $developer);
} }
run('git remote update'); run('git remote update');
}
function clone_repository($username, $repository, $pushable = false) function clone_repository($username, $repository, $pushable = false)
{ {