Skip to content

Commit 0c53fda

Browse files
author
root
committed
Fix push over http
1 parent c03f567 commit 0c53fda

File tree

5 files changed

+34
-2
lines changed

5 files changed

+34
-2
lines changed

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

+7
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
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)
55
- gitolite_local_code_dir = RedmineGitHosting::Config.get_setting(:gitolite_local_code_dir)
6+
- gitolite_lib_dir = RedmineGitHosting::Config.get_setting(:gitolite_lib_dir)
67

78
%h3= l(:label_gitolite_storage_config)
89

@@ -34,3 +35,9 @@
3435
= l(:label_gitolite_local_code_dir_desc) + ','
3536
= link_to 'Gitolite non-core programs', 'http://gitolite.com/gitolite/non-core.html#localcode', target: 'blank'
3637
)
38+
39+
%p
40+
%label= l(:label_gitolite_lib_dir)
41+
= text_field_tag 'settings[gitolite_lib_dir]', gitolite_lib_dir, size: 60
42+
%br
43+
%em= l(:label_gitolite_lib_dir_desc)

Diff for: init.rb

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
:gitolite_redmine_storage_dir => '',
2828
:gitolite_recycle_bin_dir => 'recycle_bin/',
2929
:gitolite_local_code_dir => 'local/',
30+
:gitolite_lib_dir => 'bin/lib/',
3031

3132
# Gitolite Config File
3233
:gitolite_config_file => 'gitolite.conf',

Diff for: lib/grack/auth.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ def auth!
3939
@user = authenticate_user(login, password)
4040

4141
if @user
42-
@env['REMOTE_USER'] = @auth.username
42+
@env['REMOTE_USER'] = @user.gitolite_identifier
4343
end
4444
end
4545

Diff for: lib/grack/server.rb

+11-1
Original file line numberDiff line numberDiff line change
@@ -156,13 +156,23 @@ def git_command_with_chdir
156156

157157

158158
def smart_http_args
159-
['env', 'GL_BYPASS_UPDATE_HOOK=true']
159+
[
160+
'env',
161+
"GL_LIBDIR=#{RedmineGitHosting::Config.gitolite_lib_dir_path}",
162+
"GL_REPO=#{repository_object.gitolite_repository_name}",
163+
"GL_USER=#{@env['REMOTE_USER']}"
164+
]
160165
end
161166

162167

163168
def logger
164169
RedmineGitHosting.logger
165170
end
166171

172+
173+
def repository_object
174+
@repo ||= Repository::Xitolite.find_by_path(@dir, loose: true)
175+
end
176+
167177
end
168178
end

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

+14
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,20 @@ def gitolite_home_dir
2323
end
2424

2525

26+
def gitolite_lib_dir
27+
RedmineGitHosting::Config.get_setting(:gitolite_lib_dir)
28+
end
29+
30+
31+
def gitolite_lib_dir_path
32+
if gitolite_lib_dir.starts_with?('/')
33+
gitolite_lib_dir
34+
else
35+
File.join(gitolite_home_dir, gitolite_lib_dir)
36+
end
37+
end
38+
39+
2640
def gitolite_user
2741
RedmineGitHosting::Config.get_setting(:gitolite_user)
2842
end

0 commit comments

Comments
 (0)