Skip to content

Commit 8475816

Browse files
author
root
committed
Get Gitolite LOCAL_CODE dir with gitolite query-rc command
1 parent 05798f8 commit 8475816

File tree

9 files changed

+16
-29
lines changed

9 files changed

+16
-29
lines changed

Diff for: app/forms/plugin_settings_validation/storage_config.rb

+2-7
Original file line numberDiff line numberDiff line change
@@ -2,28 +2,23 @@ module PluginSettingsValidation
22
module StorageConfig
33
extend ActiveSupport::Concern
44

5-
PATHS_TO_VALIDATE = [:gitolite_global_storage_dir, :gitolite_redmine_storage_dir, :gitolite_recycle_bin_dir, :gitolite_local_code_dir]
5+
PATHS_TO_VALIDATE = [:gitolite_global_storage_dir, :gitolite_redmine_storage_dir, :gitolite_recycle_bin_dir]
66

77
included do
88
# Gitolite Storage Config
99
add_accessor :gitolite_global_storage_dir,
1010
:gitolite_redmine_storage_dir,
11-
:gitolite_recycle_bin_dir,
12-
:gitolite_local_code_dir
11+
:gitolite_recycle_bin_dir
1312

1413
before_validation do
1514
self.gitolite_global_storage_dir = strip_value(gitolite_global_storage_dir)
1615
self.gitolite_redmine_storage_dir = strip_value(gitolite_redmine_storage_dir)
1716
self.gitolite_recycle_bin_dir = strip_value(gitolite_recycle_bin_dir)
18-
self.gitolite_local_code_dir = strip_value(gitolite_local_code_dir)
1917
end
2018

2119
validates_presence_of :gitolite_global_storage_dir, :gitolite_recycle_bin_dir
22-
validates_presence_of :gitolite_local_code_dir, if: Proc.new { RedmineGitHosting::Config.gitolite_version == 3 }
2320

2421
validates_each PATHS_TO_VALIDATE do |record, attr, value|
25-
# *gitolite_local_code_dir* is only available with Gitolite 3
26-
next if attr == :gitolite_local_code_dir && RedmineGitHosting::Config.gitolite_version != 3
2722
record.errors.add(attr, 'must be relative') if value.starts_with?('/')
2823
end
2924
end

Diff for: app/views/settings/redmine_git_hosting/_gitolite_config_storage.html.haml

-11
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
- gitolite_global_storage_dir = RedmineGitHosting::Config.get_setting(:gitolite_global_storage_dir)
33
- gitolite_redmine_storage_dir = RedmineGitHosting::Config.get_setting(:gitolite_redmine_storage_dir)
44
- gitolite_recycle_bin_dir = RedmineGitHosting::Config.get_setting(:gitolite_recycle_bin_dir)
5-
- gitolite_local_code_dir = RedmineGitHosting::Config.get_setting(:gitolite_local_code_dir)
65

76
%h3= l(:label_gitolite_storage_config)
87

@@ -29,13 +28,3 @@
2928
%em
3029
= surround '(', ')' do
3130
= l(:label_gitolite_redmine_storage_dir_desc)
32-
33-
- if RedmineGitHosting::Config.gitolite_version == 3
34-
%p
35-
%label= l(:label_gitolite_local_code_dir)
36-
= text_field_tag 'settings[gitolite_local_code_dir]', gitolite_local_code_dir, size: 60
37-
%br
38-
%em
39-
= surround '(', ')' do
40-
= l(:label_gitolite_local_code_dir_desc) + ','
41-
= link_to 'Gitolite non-core programs', 'http://gitolite.com/gitolite/non-core.html#localcode', target: 'blank'

Diff for: app/views/settings/redmine_git_hosting/_gitolite_config_test.html.haml

+8
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,14 @@
3636
- else
3737
= image_tag('exclamation.png')
3838

39+
%tr
40+
%td= l(:label_gitolite_local_code_dir)
41+
%td
42+
- if RedmineGitHosting::Config.gitolite_local_code_dir
43+
%span{ class: 'label label-success' }= RedmineGitHosting::Config.gitolite_local_code_dir
44+
- else
45+
= image_tag('exclamation.png')
46+
3947
- gitolite_checks = RedmineGitHosting::Config.check_hooks_install!
4048

4149
%tr

Diff for: config/locales/settings/en.yml

+1-2
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@ en:
2626
label_gitolite_recycle_bin_dir_desc: Relative to Gitolite user home
2727
label_gitolite_redmine_storage_dir: Subdirectory for Redmine-managed repositories
2828
label_gitolite_redmine_storage_dir_desc: Relative to Gitolite repositories base path
29-
label_gitolite_local_code_dir: Gitolite non-core hooks directory
30-
label_gitolite_local_code_dir_desc: Relative to Gitolite user home
3129

3230
# Gitolite Config File
3331
label_tab_config_file: Configuration file
@@ -170,6 +168,7 @@ en:
170168
label_gitolite_libgit2_version: libgit2 version
171169
label_gitolite_bin_dir: Gitolite binaries directory
172170
label_gitolite_lib_dir: Gitolite librairies directory
171+
label_gitolite_local_code_dir: Gitolite non-core hooks directory
173172

174173
# Recycle Bin
175174
label_tab_gitolite_recycle_bin: Recycle Bin

Diff for: config/locales/settings/es.yml

+1-2
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@ es:
2626
label_gitolite_recycle_bin_dir_desc: Relativa al directorio del usuario de Gitolite
2727
label_gitolite_redmine_storage_dir: Subcarpeta para los repositorios gestionados por Redmine-managed
2828
label_gitolite_redmine_storage_dir_desc: Relativa al directorio de repositorios de Gitolite
29-
label_gitolite_local_code_dir: Carpeta de hooks non-core de Gitolite
30-
label_gitolite_local_code_dir_desc: Relativa al directorio del usuario de Gitolite
3129

3230
# Gitolite Config File
3331
label_tab_config_file: Fichero de configuración
@@ -169,6 +167,7 @@ es:
169167
label_gitolite_libgit2_version: Versión de libgit2
170168
label_gitolite_bin_dir: Carpeta de binarios de Gitolite
171169
label_gitolite_lib_dir: Carpeta de bibliotecas de Gitolite
170+
label_gitolite_local_code_dir: Carpeta de hooks non-core de Gitolite
172171

173172
# Recycle Bin
174173
label_tab_gitolite_recycle_bin: Papelera de reciclaje

Diff for: config/locales/settings/fr.yml

+1-2
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@ fr:
2626
label_gitolite_recycle_bin_dir_desc: Relatif au répertoire personnel de l'utilisateur Gitolite
2727
label_gitolite_redmine_storage_dir: Sous-répertoire pour les dépôts gérés par Redmine
2828
label_gitolite_redmine_storage_dir_desc: Relatif au répertoire personnel de l'utilisateur Gitolite
29-
label_gitolite_local_code_dir: Répertoire de stockage des hooks non-core
30-
label_gitolite_local_code_dir_desc: Relatif au répertoire personnel de l'utilisateur Gitolite
3129

3230
# Gitolite Config File
3331
label_tab_config_file: Fichier de configuration
@@ -170,6 +168,7 @@ fr:
170168
label_gitolite_libgit2_version: Version de libgit2
171169
label_gitolite_bin_dir: Répertoire des binaires Gitolite
172170
label_gitolite_lib_dir: Répertoire des librairies Gitolite
171+
label_gitolite_local_code_dir: Répertoire de stockage des hooks non-core
173172

174173
# Recycle Bin
175174
label_tab_gitolite_recycle_bin: Corbeille

Diff for: config/locales/settings/ru.yml

+1-2
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@ ru:
2626
label_gitolite_recycle_bin_dir_desc: Относительно домашнего каталога пользователя Gitolite
2727
label_gitolite_redmine_storage_dir: Подкаталог управляемых через Redmine репозиториев
2828
label_gitolite_redmine_storage_dir_desc: Относительно каталога репозиториев Gitolite
29-
label_gitolite_local_code_dir: Каталог внешних хуков Gitolite
30-
label_gitolite_local_code_dir_desc: Относительно домашнего каталога пользователя Gitolite
3129

3230
# Gitolite Config File
3331
label_tab_config_file: Конфиг. файл
@@ -169,6 +167,7 @@ ru:
169167
label_gitolite_libgit2_version: Версия libgit2
170168
label_gitolite_bin_dir: Каталог с двоичный Gitolite
171169
label_gitolite_lib_dir: Каталог с библиотеками Gitolite
170+
label_gitolite_local_code_dir: Каталог внешних хуков Gitolite
172171

173172
# Recycle Bin
174173
label_tab_gitolite_recycle_bin: Корзина

Diff for: lib/default_settings.yml

-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ gitolite_ssh_public_key: <%= Rails.root.join('plugins', 'redmine_git_host
1010
gitolite_global_storage_dir: 'repositories/'
1111
gitolite_redmine_storage_dir: ''
1212
gitolite_recycle_bin_dir: 'recycle_bin/'
13-
gitolite_local_code_dir: 'local/'
1413

1514
# Gitolite Config File
1615
gitolite_config_file: 'gitolite.conf'

Diff for: lib/redmine_git_hosting/config/gitolite_hooks.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,13 @@ def gitolite_overwrite_existing_hooks?
2929

3030

3131
def gitolite_local_code_dir
32-
get_setting(:gitolite_local_code_dir)
32+
@gitolite_local_code_dir ||= RedmineGitHosting::Commands.sudo_gitolite_query_rc('LOCAL_CODE')
3333
end
3434

3535

3636
def gitolite_hooks_dir
3737
if gitolite_version == 3
38-
File.join(gitolite_home_dir, gitolite_local_code_dir, 'hooks', 'common')
38+
File.join(gitolite_local_code_dir, 'hooks', 'common')
3939
else
4040
File.join(gitolite_home_dir, '.gitolite', 'hooks', 'common')
4141
end

0 commit comments

Comments
 (0)