Skip to content

Commit 668b8b8

Browse files
author
root
committed
Merge branch 'devel' into feat_protected_branches
2 parents ba667d6 + 9e20eb7 commit 668b8b8

26 files changed

+84
-1200
lines changed

Diff for: .gitignore

-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
.*.swp
22
Gemfile.lock
3-
/selinux/tmp
43
/tmp
54
/rdoc
65
/coverage

Diff for: app/helpers/git_hosting_helper.rb

-9
Original file line numberDiff line numberDiff line change
@@ -82,15 +82,6 @@ def plugin_asset_link(asset_name)
8282
end
8383

8484

85-
# Generic helper functions
86-
def reldir_add_dotslash(path)
87-
# Is this a relative path?
88-
stripped = (path || "").lstrip.rstrip
89-
norm = File.expand_path(stripped, "/")
90-
((stripped[0, 1] != "/") ? '.' : '') + norm + ((norm[-1, 1] != "/") ? "/" : "")
91-
end
92-
93-
9485
def render_feature(repository, feature)
9586
css_class = [ 'icon icon-git' ]
9687

Diff for: app/models/repository_mirror.rb

+26-21
Original file line numberDiff line numberDiff line change
@@ -43,25 +43,16 @@ class RepositoryMirror < ActiveRecord::Base
4343
include GitoliteHooksHelper
4444

4545

46-
def push
47-
push_args = []
48-
49-
if push_mode == PUSHMODE_MIRROR
50-
push_args << "--mirror"
51-
else
52-
# Not mirroring -- other possible push_args
53-
push_args << "--force" if push_mode == PUSHMODE_FORCE
54-
push_args << "--all" if include_all_branches
55-
push_args << "--tags" if include_all_tags
56-
end
57-
58-
push_args << "#{dequote(url)}"
59-
push_args << "#{dequote(explicit_refspec)}" unless explicit_refspec.blank?
46+
def to_s
47+
return "#{repository.project.identifier}-#{url}"
48+
end
6049

61-
command = "cd #{repository.gitolite_repository_path} && env GIT_SSH=~/.ssh/run_gitolite_admin_ssh git push #{push_args.join(' ')}"
6250

51+
def push
6352
begin
64-
push_message = RedmineGitolite::GitoliteWrapper.pipe_sudo('echo', "'#{command}'", "bash")[0].chomp
53+
push_message = RedmineGitolite::GitoliteWrapper.sudo_pipe("bash") do
54+
[ 'cd', repository.gitolite_repository_path, '&&', 'env', 'GIT_SSH=~/.ssh/run_gitolite_admin_ssh', 'git', 'push', *push_args, '2>&1' ].join(' ')
55+
end
6556
push_failed = false
6657
rescue RedmineGitolite::GitHosting::GitHostingException => e
6758
push_message = e.output
@@ -91,11 +82,6 @@ def needs_push(payloads = [])
9182
end
9283

9384

94-
def to_s
95-
return "#{repository.project.identifier}-#{url}"
96-
end
97-
98-
9985
private
10086

10187

@@ -155,4 +141,23 @@ def refcomp_valid(spec)
155141
end
156142
end
157143

144+
145+
def push_args
146+
push_args = []
147+
148+
if self.push_mode == PUSHMODE_MIRROR
149+
push_args << "--mirror"
150+
else
151+
# Not mirroring -- other possible push_args
152+
push_args << "--force" if self.push_mode == PUSHMODE_FORCE
153+
push_args << "--all" if self.include_all_branches?
154+
push_args << "--tags" if self.include_all_tags?
155+
end
156+
157+
push_args << "#{dequote(self.url)}"
158+
push_args << "#{dequote(self.explicit_refspec)}" unless self.explicit_refspec.blank?
159+
160+
return push_args
161+
end
162+
158163
end

Diff for: app/views/repository_mirrors/index.html.erb

+4-6
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,10 @@
3636
<td class="buttons">
3737
<% if user_allowed_to(:edit_repository_mirrors, @project) %>
3838

39-
<% if mirror.active? %>
40-
<%= link_to l(:label_mirror_push), push_to_mirror_path(@repository, mirror),
41-
:title => l(:label_mirror_push_title),
42-
:alt => l(:label_mirror_push_title),
43-
:class => 'icon icon-push modal-box-close-only' %>
44-
<% end %>
39+
<%= link_to l(:label_mirror_push), push_to_mirror_path(@repository, mirror),
40+
:title => l(:label_mirror_push_title),
41+
:alt => l(:label_mirror_push_title),
42+
:class => 'icon icon-push modal-box-close-only' %>
4543

4644
<%= link_to l(:button_edit), edit_repository_mirror_path(@repository, mirror),
4745
:class => 'icon icon-edit modal-box' %>

Diff for: app/views/settings/_gitolite_config_global.html.erb

-13
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,12 @@
33
gitolite_recycle_bin_expiration_time = RedmineGitolite::Config.get_setting(:gitolite_recycle_bin_expiration_time)
44

55
gitolite_temp_dir = RedmineGitolite::Config.get_setting(:gitolite_temp_dir)
6-
gitolite_scripts_dir = RedmineGitolite::Config.get_setting(:gitolite_scripts_dir)
76
gitolite_timeout = RedmineGitolite::Config.get_setting(:gitolite_timeout)
87
gitolite_log_level = RedmineGitolite::Config.get_setting(:gitolite_log_level)
98
gitolite_log_split = RedmineGitolite::Config.get_setting(:gitolite_log_split)
109

1110
git_config_username = RedmineGitolite::Config.get_setting(:git_config_username)
1211
git_config_email = RedmineGitolite::Config.get_setting(:git_config_email)
13-
14-
scripts_dir_writeable = RedmineGitolite::Scripts.scripts_dir_writeable?(:reset => true)
1512
%>
1613

1714
<h3><%= l(:label_gitolite_global_config) %></h3>
@@ -23,16 +20,6 @@
2320
<em><%= l(:label_gitolite_temp_dir_desc) %></em>
2421
</p>
2522

26-
<p>
27-
<label><%= l(:label_gitolite_scripts_dir) %></label>
28-
<%= text_field_tag("settings[gitolite_scripts_dir]", reldir_add_dotslash(gitolite_scripts_dir), :size => 60) %>
29-
<br />
30-
<em><%= l(:label_gitolite_scripts_dir_desc) %></em>
31-
<% if !scripts_dir_writeable %>
32-
<br /><span class="label label-warning"><%= l(:label_cannot_change_selinux) %></span>
33-
<% end %>
34-
</p>
35-
3623
<p>
3724
<label><%= l(:label_gitolite_timeout) %></label>
3825
<%= text_field_tag("settings[gitolite_timeout]", "#{gitolite_timeout}", :size => 10) %>

Diff for: app/views/settings/_gitolite_config_ssh.html.erb

-13
Original file line numberDiff line numberDiff line change
@@ -4,39 +4,26 @@
44
gitolite_server_port = RedmineGitolite::Config.get_setting(:gitolite_server_port)
55
gitolite_ssh_private_key = RedmineGitolite::Config.get_setting(:gitolite_ssh_private_key)
66
gitolite_ssh_public_key = RedmineGitolite::Config.get_setting(:gitolite_ssh_public_key)
7-
scripts_dir_writeable = RedmineGitolite::Scripts.scripts_dir_writeable?(:reset => true)
87
%>
98

109
<h3><%= l(:label_gitolite_ssh_config) %></h3>
1110

1211
<p>
1312
<label><%= l(:label_gitolite_user) %></label>
1413
<%= text_field_tag("settings[gitolite_user]", gitolite_user, :size => 60) %>
15-
<% if !scripts_dir_writeable %>
16-
<br /><span class="label label-warning"><%= l(:label_cannot_change_selinux) %></span>
17-
<% end %>
1814
</p>
1915

2016
<p>
2117
<label><%= l(:label_gitolite_ssh_private_key) %></label>
2218
<%= text_field_tag("settings[gitolite_ssh_private_key]", gitolite_ssh_private_key, :size => 110) %>
23-
<% if !scripts_dir_writeable %>
24-
<br /><span class="label label-warning"><%= l(:label_cannot_change_selinux) %></span>
25-
<% end %>
2619
</p>
2720

2821
<p>
2922
<label><%= l(:label_gitolite_ssh_public_key) %></label>
3023
<%= text_field_tag("settings[gitolite_ssh_public_key]", gitolite_ssh_public_key, :size => 110) %>
31-
<% if !scripts_dir_writeable %>
32-
<br /><span class="label label-warning"><%= l(:label_cannot_change_selinux) %></span>
33-
<% end %>
3424
</p>
3525

3626
<p>
3727
<label><%= l(:label_gitolite_server_port) %></label>
3828
<%= text_field_tag("settings[gitolite_server_port]", gitolite_server_port, :size => 5) %>
39-
<% if !scripts_dir_writeable %>
40-
<br /><span class="label label-warning"><%= l(:label_cannot_change_selinux) %></span>
41-
<% end %>
4229
</p>

Diff for: app/views/settings/_gitolite_config_test.html.erb

-29
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,6 @@
22

33
<table class="table table-hover">
44

5-
<tr>
6-
<td><%= l(:label_scripts_dir_writeable) %></td>
7-
<td>
8-
<% state = RedmineGitolite::Scripts.scripts_dir_writeable?(:reset => true) %>
9-
<span class="label label-<%= state ? 'success' : 'warning' %>"><%= RedmineGitolite::Scripts.get_scripts_dir_path %></span>
10-
</td>
11-
</tr>
12-
135
<tr>
146
<td><%= l(:label_temp_dir_writeable) %></td>
157
<td>
@@ -18,22 +10,6 @@
1810
</td>
1911
</tr>
2012

21-
<tr>
22-
<td><%= l(:label_git_cmd_script_installed) %></td>
23-
<td>
24-
<% state = RedmineGitolite::Scripts.script_is_installed?(:git_cmd) %>
25-
<span class="label label-<%= state ? 'success' : 'important' %>"><%= RedmineGitolite::Scripts.git_cmd_script_path %></span>
26-
</td>
27-
</tr>
28-
29-
<tr>
30-
<td><%= l(:label_shell_cmd_script_installed) %></td>
31-
<td>
32-
<% state = RedmineGitolite::Scripts.script_is_installed?(:shell_cmd) %>
33-
<span class="label label-<%= state ? 'success' : 'important' %>"><%= RedmineGitolite::Scripts.shell_cmd_script_path %></span>
34-
</td>
35-
</tr>
36-
3713
<tr>
3814
<td><%= l(:label_redmine_user) %></td>
3915
<td><span class="label label-success"><%= RedmineGitolite::Scripts.redmine_user %></span></td>
@@ -44,11 +20,6 @@
4420
<td><span class="label label-success"><%= RedmineGitolite::Scripts.gitolite_user %></span></td>
4521
</tr>
4622

47-
<tr>
48-
<td><%= l(:label_sudo_version) %></td>
49-
<td><span class="label label-success"><%= RedmineGitolite::Scripts.sudo_version_raw %></span></td>
50-
</tr>
51-
5223
<tr>
5324
<td><%= l(:label_sudo_gitolite_to_redmine_user) %></td>
5425
<td><%= image_tag (RedmineGitolite::Scripts.can_gitolite_sudo_to_redmine_user? ? 'true.png' : 'exclamation.png') %></td>

Diff for: bin/.placeholder

Whitespace-only changes.

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

-2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@ en:
1515
label_gitolite_ssh_public_key: Gitolite SSH public key
1616
label_gitolite_server_port: SSH local server port
1717

18-
label_cannot_change_selinux: Cannot change in current configuration
19-
2018
# Gitolite Storage Config
2119
label_tab_storage: Storage
2220
label_gitolite_storage_config: Gitolite Storage Configuration

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

-2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@ fr:
1515
label_gitolite_ssh_public_key: Clé publique SSH de Gitolite
1616
label_gitolite_server_port: Port du serveur SSH local
1717

18-
label_cannot_change_selinux: Ne peut être changé dans la configuration actuelle
19-
2018
# Gitolite Storage Config
2119
label_tab_storage: Stockage
2220
label_gitolite_storage_config: Configuration du stockage dans Gitolite

Diff for: contrib/selinux/README

-70
This file was deleted.

Diff for: contrib/selinux/redmine_git.fc

-9
This file was deleted.

0 commit comments

Comments
 (0)