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:
2013-11-07 16:47:26 +06:00
parent 1c689a6b24
commit 428cdae3cf

View File

@@ -98,7 +98,7 @@ function handleSingleRepository(
$values = array();
$values['members'] = join(' ', $members);
$values['readonly'] = '@all';
$values['writable'] = $repository->getName();
$values['writable'] = strtolower($repository->getName());
$new_configuration["group $group_name"] = $values;
}
}
@@ -189,11 +189,11 @@ function runGitSshCommand($repository, $key, $need_workdir, $arguments,
return $return_var == 0;
}
function repositoryPull($repository) {
return runGitCommand($repository, false, 'pull');
function repositoryPull($repository, $key) {
return runGitSshCommand($repository, $key, false, 'pull');
}
function repositoryCommitAll($repository, $message) {
function repositoryCommitAll($repository, $author, $message) {
if (!runGitCommand(
$repository, true,
'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, "diff-index --name-only HEAD --", $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;
}
@@ -221,7 +222,7 @@ if (count($argv) != 3) {
$gitosis_root = $argv[1];
$key = $argv[2];
if (!repositoryPull($gitosis_root)) {
if (!repositoryPull($gitosis_root, $key)) {
print("Failed to pull changes from server.\n");
exit(1);
}
@@ -230,10 +231,12 @@ if (!rebuildConfiguration($gitosis_root)) {
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");
exit(1);
}
runGitSshCommand($gitosis_root, $key, true, 'push');
runGitSshCommand($gitosis_root, $key, true, 'push origin master');
?>