From 2985697af788c33b3d5b4731ec60e9b5055f97b5 Mon Sep 17 00:00:00 2001
From: Dmitriy Zaporozhets <dzaporozhets@sphereconsultinginc.com>
Date: Wed, 3 Oct 2012 15:56:41 +0300
Subject: [PATCH] Real fix for removing keys. Closes PR #1616

---
 lib/gitlab/backend/gitolite_config.rb | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/lib/gitlab/backend/gitolite_config.rb b/lib/gitlab/backend/gitolite_config.rb
index ed366f61a79..fcf43fa214d 100644
--- a/lib/gitlab/backend/gitolite_config.rb
+++ b/lib/gitlab/backend/gitolite_config.rb
@@ -96,8 +96,9 @@ module Gitlab
     end
 
     def rm_key(user)
-      File.unlink(File.join(config_tmp_dir, 'gitolite/keydir',"#{user}.pub"))
-      `cd #{File.join(config_tmp_dir,'gitolite')} ; git rm keydir/#{user}.pub`
+      key_path = File.join(config_tmp_dir, 'gitolite/keydir', "#{user}.pub")
+      ga_key = ::Gitolite::SSHKey.from_file(key_path)
+      ga_repo.rm_key(ga_key)
     end
 
     # update or create
-- 
GitLab