From f5f1c18350981662559c2ffab14c65a370893f63 Mon Sep 17 00:00:00 2001 From: Marin Jankovski Date: Wed, 3 Oct 2012 10:20:54 +0200 Subject: [PATCH] Make sure that keys are deleted. --- lib/gitlab/backend/gitolite.rb | 5 +++-- lib/gitlab/backend/gitolite_config.rb | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/gitlab/backend/gitolite.rb b/lib/gitlab/backend/gitolite.rb index fe5dcef40a9..f441df82ac7 100644 --- a/lib/gitlab/backend/gitolite.rb +++ b/lib/gitlab/backend/gitolite.rb @@ -16,8 +16,9 @@ module Gitlab end def remove_key key_id, projects - config.apply do |config| - config.rm_key(key_id) + save = false # Gitolite::GitoliteAdmin:save would restore all (including deleted) keys. + config.apply(save) do |config| + config.rm_key(key_id) # Changes will be commited so the save is not needed. config.update_projects(projects) end end diff --git a/lib/gitlab/backend/gitolite_config.rb b/lib/gitlab/backend/gitolite_config.rb index f51e8efc370..e46f48f5612 100644 --- a/lib/gitlab/backend/gitolite_config.rb +++ b/lib/gitlab/backend/gitolite_config.rb @@ -17,7 +17,7 @@ module Gitlab @ga_repo ||= ::Gitolite::GitoliteAdmin.new(File.join(config_tmp_dir,'gitolite')) end - def apply + def apply(save = true) Timeout::timeout(30) do File.open(File.join(Rails.root, 'tmp', "gitlabhq-gitolite.lock"), "w+") do |f| begin @@ -41,7 +41,7 @@ module Gitlab # Save changes in # gitolite-admin repo # before pusht it - ga_repo.save + ga_repo.save if save # Push gitolite-admin repo # to apply all changes -- GitLab