Skip to content

Commit b87cb22

Browse files
author
root
committed
Set git config username and email within the interface (=> removes one step in installation)
1 parent 599a8a6 commit b87cb22

File tree

6 files changed

+43
-1
lines changed

6 files changed

+43
-1
lines changed

app/views/settings/_gitolite_config_file.html.erb

+16
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
gitolite_config_file = RedmineGitolite::ConfigRedmine.get_setting(:gitolite_config_file)
44
gitolite_config_has_admin_key = RedmineGitolite::ConfigRedmine.get_setting(:gitolite_config_has_admin_key, true)
55
gitolite_identifier_prefix = RedmineGitolite::ConfigRedmine.get_setting(:gitolite_identifier_prefix)
6+
git_config_username = RedmineGitolite::ConfigRedmine.get_setting(:git_config_username)
7+
git_config_email = RedmineGitolite::ConfigRedmine.get_setting(:git_config_email)
68

79
disable_button = (gitolite_config_file == RedmineGitolite::Config::GITOLITE_DEFAULT_CONFIG_FILE ? true : false)
810
%>
@@ -30,6 +32,20 @@
3032
<em><%= l(:label_gitolite_identifier_prefix_desc) %></em>
3133
</p>
3234

35+
<p>
36+
<label><%= l(:label_git_config_username) %></label>
37+
<%= text_field_tag("settings[git_config_username]", "#{git_config_username}", :size => 60) %>
38+
<br />
39+
<em><%= l(:label_git_config_username_desc) %></em>
40+
</p>
41+
42+
<p>
43+
<label><%= l(:label_git_config_email) %></label>
44+
<%= text_field_tag("settings[git_config_email]", "#{git_config_email}", :size => 60) %>
45+
<br />
46+
<em><%= l(:label_git_config_email_desc) %></em>
47+
</p>
48+
3349
<br />
3450

3551
<div class="git_hosting_access_box">

config/locales/plugin_settings/en.yml

+4
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@ en:
3434
label_gitolite_config_has_admin_key: Gitolite configuration file has Admin key?
3535
label_gitolite_identifier_prefix: Gitolite prefix
3636
label_gitolite_identifier_prefix_desc: (Will be used to generate SSH keys identifiers)
37+
label_git_config_username: Git author name
38+
label_git_config_username_desc: (Will be used as author name in commits)
39+
label_git_config_email: Git author email
40+
label_git_config_email_desc: (Will be used as author email in commits)
3741

3842
# Gitolite Global Config
3943
label_tab_global: Global

config/locales/plugin_settings/fr.yml

+4
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@ fr:
3434
label_gitolite_config_has_admin_key: Le fichier de configuration de Gitolite a la clé d'administration.
3535
label_gitolite_identifier_prefix: Préfixe Gitolite
3636
label_gitolite_identifier_prefix_desc: (Sera utilisé pour générer les identifiants de clé SSH)
37+
label_git_config_username: Nom de l'auteur Git
38+
label_git_config_username_desc: (Sera utilisé comme nom de l'auteur dans les commits)
39+
label_git_config_email: Email de l'auteur Git
40+
label_git_config_email_desc: (Sera utilisé comme email de l'auteur dans les commits)
3741

3842
# Gitolite Global Config
3943
label_tab_global: Global

init.rb

+2
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@
3333
:gitolite_config_file => 'gitolite.conf',
3434
:gitolite_config_has_admin_key => true,
3535
:gitolite_identifier_prefix => 'redmine_',
36+
:git_config_username => 'Redmine Git Hosting',
37+
:git_config_email => '[email protected]',
3638

3739
# Gitolite Global Config
3840
:gitolite_temp_dir => File.join(ENV['HOME'], 'tmp', 'redmine_git_hosting').to_s,

lib/redmine_gitolite/admin.rb

+2-1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ def initialize(object_id, action, options)
2020
@lock_file_path = File.join(RedmineGitolite::Config.get_temp_dir_path, 'redmine_git_hosting_lock')
2121
@gitolite_debug = RedmineGitolite::ConfigRedmine.get_setting(:gitolite_log_level) == 'debug' ? true : false
2222
@gitolite_timeout = RedmineGitolite::ConfigRedmine.get_setting(:gitolite_lock_wait_time)
23+
@gitolite_author = RedmineGitolite::Config.gitolite_commit_author
2324

2425
@object_id = object_id
2526
@action = action
@@ -109,7 +110,7 @@ def gitolite_admin_repo_clone
109110
def gitolite_admin_repo_commit(message = '')
110111
logger.info { "#{@action} : commiting to Gitolite..." }
111112
begin
112-
@gitolite_admin.save("#{@action} : #{message}")
113+
@gitolite_admin.save("#{@action} : #{message}", :author => @gitolite_author)
113114
rescue => e
114115
logger.error { "Error : #{e.message}" }
115116
end

lib/redmine_gitolite/config.rb

+15
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,16 @@ def self.gitolite_scripts_dir
6363
end
6464

6565

66+
def self.git_config_username
67+
RedmineGitolite::ConfigRedmine.get_setting(:git_config_username)
68+
end
69+
70+
71+
def self.git_config_email
72+
RedmineGitolite::ConfigRedmine.get_setting(:git_config_email)
73+
end
74+
75+
6676
GITOLITE_ADMIN_REPO = 'gitolite-admin.git'
6777

6878
# Full Gitolite URL
@@ -76,6 +86,11 @@ def self.gitolite_admin_dir
7686
end
7787

7888

89+
def self.gitolite_commit_author
90+
"#{git_config_username} <#{git_config_email}>"
91+
end
92+
93+
7994
def self.http_root_url
8095
my_root_url(false)
8196
end

0 commit comments

Comments
 (0)