OSDN Git Service

Remove hardcoded refernce to gitlab-shell home. so that gitlab can be installed on...
authorBhagavan Das <bhagavan.das@baml.com>
Thu, 14 Feb 2013 23:10:18 +0000 (23:10 +0000)
committerBhagavan Das <bhagavan.das@baml.com>
Thu, 14 Feb 2013 23:10:18 +0000 (23:10 +0000)
lib/gitlab/backend/shell.rb
lib/tasks/gitlab/shell.rake

index b7b92e8..9ea08cc 100644 (file)
@@ -10,7 +10,7 @@ module Gitlab
     #   add_repository("gitlab/gitlab-ci")
     #
     def add_repository(name)
-      system("/home/git/gitlab-shell/bin/gitlab-projects add-project #{name}.git")
+      system("#{gitlab_shell_user_home}/gitlab-shell/bin/gitlab-projects add-project #{name}.git")
     end
 
     # Import repository
@@ -21,7 +21,7 @@ module Gitlab
     #   import_repository("gitlab/gitlab-ci", "https://github.com/randx/six.git")
     #
     def import_repository(name, url)
-      system("/home/git/gitlab-shell/bin/gitlab-projects import-project #{name}.git #{url}")
+      system("#{gitlab_shell_user_home}/gitlab-shell/bin/gitlab-projects import-project #{name}.git #{url}")
     end
 
     # Remove repository from file system
@@ -32,7 +32,7 @@ module Gitlab
     #   remove_repository("gitlab/gitlab-ci")
     #
     def remove_repository(name)
-      system("/home/git/gitlab-shell/bin/gitlab-projects rm-project #{name}.git")
+      system("#{gitlab_shell_user_home}/gitlab-shell/bin/gitlab-projects rm-project #{name}.git")
     end
 
     # Add new key to gitlab-shell
@@ -41,7 +41,7 @@ module Gitlab
     #   add_key("key-42", "sha-rsa ...")
     #
     def add_key(key_id, key_content)
-      system("/home/git/gitlab-shell/bin/gitlab-keys add-key #{key_id} \"#{key_content}\"")
+      system("#{gitlab_shell_user_home}/gitlab-shell/bin/gitlab-keys add-key #{key_id} \"#{key_content}\"")
     end
 
     # Remove ssh key from gitlab shell
@@ -50,11 +50,16 @@ module Gitlab
     #   remove_key("key-342", "sha-rsa ...")
     #
     def remove_key(key_id, key_content)
-      system("/home/git/gitlab-shell/bin/gitlab-keys rm-key #{key_id} \"#{key_content}\"")
+      system("#{gitlab_shell_user_home}/gitlab-shell/bin/gitlab-keys rm-key #{key_id} \"#{key_content}\"")
     end
 
     def url_to_repo path
       Gitlab.config.gitlab_shell.ssh_path_prefix + "#{path}.git"
     end
+   
+    def gitlab_shell_user_home
+      File.expand_path("~#{Gitlab.config.gitlab_shell.ssh_user}")
+    end
+
   end
 end
index 0ab8df1..ec5451d 100644 (file)
@@ -25,12 +25,13 @@ namespace :gitlab do
   def setup
     warn_user_is_not_gitlab
 
+    gitlab_shell_authorized_keys = File.join(File.expand_path("~#{Gitlab.config.gitlab_shell.ssh_user}"),'.ssh/authorized_keys')
     puts "This will rebuild an authorized_keys file."
-    puts "You will lose any data stored in /home/git/.ssh/authorized_keys."
+    puts "You will lose any data stored in #{gitlab_shell_authorized_keys}."
     ask_to_continue
     puts ""
 
-    system("echo '# Managed by gitlab-shell' > /home/git/.ssh/authorized_keys")
+    system("echo '# Managed by gitlab-shell' > #{gitlab_shell_authorized_keys}")
 
     Key.find_each(batch_size: 1000) do |key|
       if Gitlab::Shell.new.add_key(key.shell_id, key.key)