Further tweaks to gitosis conf rebuild script
- Pull need SSH key as well - Repository names are ensured to be lower case - Use verbose name for commti author
This commit is contained in:
@@ -98,7 +98,7 @@ function handleSingleRepository(
|
|||||||
$values = array();
|
$values = array();
|
||||||
$values['members'] = join(' ', $members);
|
$values['members'] = join(' ', $members);
|
||||||
$values['readonly'] = '@all';
|
$values['readonly'] = '@all';
|
||||||
$values['writable'] = $repository->getName();
|
$values['writable'] = strtolower($repository->getName());
|
||||||
$new_configuration["group $group_name"] = $values;
|
$new_configuration["group $group_name"] = $values;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -189,11 +189,11 @@ function runGitSshCommand($repository, $key, $need_workdir, $arguments,
|
|||||||
return $return_var == 0;
|
return $return_var == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
function repositoryPull($repository) {
|
function repositoryPull($repository, $key) {
|
||||||
return runGitCommand($repository, false, 'pull');
|
return runGitSshCommand($repository, $key, false, 'pull');
|
||||||
}
|
}
|
||||||
|
|
||||||
function repositoryCommitAll($repository, $message) {
|
function repositoryCommitAll($repository, $author, $message) {
|
||||||
if (!runGitCommand(
|
if (!runGitCommand(
|
||||||
$repository, true,
|
$repository, true,
|
||||||
'ls-files --other --exclude-standard', $untracked_files)) {
|
'ls-files --other --exclude-standard', $untracked_files)) {
|
||||||
@@ -208,7 +208,8 @@ function repositoryCommitAll($repository, $message) {
|
|||||||
runGitCommand($repository, true, "update-index -q --refresh", $output);
|
runGitCommand($repository, true, "update-index -q --refresh", $output);
|
||||||
runGitCommand($repository, true, "diff-index --name-only HEAD --", $output);
|
runGitCommand($repository, true, "diff-index --name-only HEAD --", $output);
|
||||||
if (count($output)) {
|
if (count($output)) {
|
||||||
return runGitCommand($repository, true, "commit -a -m '$message'", $output);
|
return runGitCommand(
|
||||||
|
$repository, true, "commit --author='$author' -a -m '$message'", $output);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -221,7 +222,7 @@ if (count($argv) != 3) {
|
|||||||
$gitosis_root = $argv[1];
|
$gitosis_root = $argv[1];
|
||||||
$key = $argv[2];
|
$key = $argv[2];
|
||||||
|
|
||||||
if (!repositoryPull($gitosis_root)) {
|
if (!repositoryPull($gitosis_root, $key)) {
|
||||||
print("Failed to pull changes from server.\n");
|
print("Failed to pull changes from server.\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
@@ -230,10 +231,12 @@ if (!rebuildConfiguration($gitosis_root)) {
|
|||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!repositoryCommitAll($gitosis_root, 'Update to correspond changes in Phabricator')) {
|
if (!repositoryCommitAll(
|
||||||
|
$gitosis_root, 'Rebuild Gitadmin <null@git.blender.org>',
|
||||||
|
'Update to correspond changes in Phabricator')) {
|
||||||
print("Failed to commit changes.\n");
|
print("Failed to commit changes.\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
runGitSshCommand($gitosis_root, $key, true, 'push');
|
runGitSshCommand($gitosis_root, $key, true, 'push origin master');
|
||||||
?>
|
?>
|
||||||
|
|||||||
Reference in New Issue
Block a user