summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-07-19 11:13:51 +0000
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-07-19 11:13:51 +0000
commitf13afa2db3f3b44a9a6f97b88eced3f324f80b51 (patch)
treebcdaab260a4016ac767318b3da064a6f365eb71f /lib
parentf31c38e8ea62c862e5d5bc29b4a2984ed608c2a1 (diff)
parent4de0ee3b8fbdbcc215b0e23ef87c7a97eadadafd (diff)
downloadgitlab-shell-f13afa2db3f3b44a9a6f97b88eced3f324f80b51.tar.gz
Merge branch 'avoid_sed_i' of /home/git/repositories/gitlab/gitlab-shell
Diffstat (limited to 'lib')
-rw-r--r--lib/gitlab_keys.rb8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/gitlab_keys.rb b/lib/gitlab_keys.rb
index d09360f..dc54740 100644
--- a/lib/gitlab_keys.rb
+++ b/lib/gitlab_keys.rb
@@ -1,4 +1,4 @@
-require 'open3'
+require 'tempfile'
require_relative 'gitlab_config'
require_relative 'gitlab_logger'
@@ -36,8 +36,10 @@ class GitlabKeys
def rm_key
$logger.info "Removing key #{@key_id}"
- cmd = "sed -i '/shell #{@key_id}\"/d' #{auth_file}"
- system(cmd)
+ Tempfile.open('authorized_keys') do |temp|
+ cmd = "sed '/shell #{@key_id}\"/d' #{auth_file} > #{temp.path} && mv #{temp.path} #{auth_file}"
+ system(cmd)
+ end
end
def clear