Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
moodle_rebase10.1.2
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Dmitry Blinov
moodle_rebase10.1.2
Commits
57316ba5
Commit
57316ba5
authored
Apr 24, 2013
by
Alain Takoudjou
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add Git Repository support to TRAC
parent
943fa6aa
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
284 additions
and
62 deletions
+284
-62
slapos/recipe/trac.py
slapos/recipe/trac.py
+18
-0
software/trac-svn/instance-trac.cfg
software/trac-svn/instance-trac.cfg
+49
-8
software/trac-svn/software.cfg
software/trac-svn/software.cfg
+139
-50
software/trac-svn/templates/apache.in
software/trac-svn/templates/apache.in
+60
-4
software/trac-svn/templates/git-http-backend.cgi.in
software/trac-svn/templates/git-http-backend.cgi.in
+6
-0
software/trac-svn/templates/gitweb.cgi.in
software/trac-svn/templates/gitweb.cgi.in
+3
-0
software/trac-svn/templates/gitweb.conf.in
software/trac-svn/templates/gitweb.conf.in
+9
-0
No files found.
slapos/recipe/trac.py
View file @
57316ba5
...
@@ -138,6 +138,24 @@ class Recipe(GenericBaseRecipe):
...
@@ -138,6 +138,24 @@ class Recipe(GenericBaseRecipe):
os
.
path
.
join
(
svn_repo_path
,
'hooks/post-revprop-change'
))
os
.
path
.
join
(
svn_repo_path
,
'hooks/post-revprop-change'
))
self
.
logger
.
info
(
"Finished initializing %s reposiroty"
%
svn_repo
)
self
.
logger
.
info
(
"Finished initializing %s reposiroty"
%
svn_repo
)
repolist
=
json
.
loads
(
self
.
options
.
get
(
'git-project-list'
,
'{}'
))
for
repo
,
desc
in
repolist
.
iteritems
():
absolute_path
=
os
.
path
.
join
(
self
.
options
[
'git-dir'
],
'%s.git'
%
repo
)
if
not
os
.
path
.
exists
(
absolute_path
):
self
.
logger
.
info
(
"Initializing %s GIT repository..."
%
repo
)
subprocess
.
check_call
([
self
.
options
[
'git-binary'
],
'init'
,
'--bare'
,
absolute_path
])
subprocess
.
check_call
([
trac_admin
,
project_dir
,
'repository'
,
'add'
,
repo
,
absolute_path
,
'git'
])
subprocess
.
check_call
([
trac_admin
,
project_dir
,
'repository'
,
'resync'
,
repo
])
# XXX: Hardcoded path
shutil
.
copy
(
self
.
options
[
'trac-git-hook'
].
strip
(),
os
.
path
.
join
(
absolute_path
,
'hooks/post-commit'
))
description_filename
=
os
.
path
.
join
(
absolute_path
,
'description'
)
with
open
(
description_filename
,
'w'
)
as
description_file
:
description_file
.
write
(
desc
)
user_list
=
json
.
loads
(
self
.
options
.
get
(
'user-list'
,
'{}'
))
user_list
=
json
.
loads
(
self
.
options
.
get
(
'user-list'
,
'{}'
))
fd
=
open
(
os
.
path
.
join
(
project_dir
,
'svnpasswd'
),
'w'
)
fd
=
open
(
os
.
path
.
join
(
project_dir
,
'svnpasswd'
),
'w'
)
fd
.
write
(
"[users]
\
n
%s = %s"
%
(
admin
,
passwd
))
fd
.
write
(
"[users]
\
n
%s = %s"
%
(
admin
,
passwd
))
...
...
software/trac-svn/instance-trac.cfg
View file @
57316ba5
...
@@ -12,7 +12,9 @@ parts =
...
@@ -12,7 +12,9 @@ parts =
trac-git-hook-script
trac-git-hook-script
trac-svn-hook-script
trac-svn-hook-script
post-revprop-change-script
post-revprop-change-script
gitweb-conf
httpd
httpd
gitdaemon
promise
promise
ca-shellinabox
ca-shellinabox
...
@@ -197,6 +199,10 @@ output = $${rootdirectory:etc}/apache.conf
...
@@ -197,6 +199,10 @@ output = $${rootdirectory:etc}/apache.conf
document_root = $${rootdirectory:srv}/site/
document_root = $${rootdirectory:srv}/site/
wsgi_location = $${inittrac:wsgi-dir}
wsgi_location = $${inittrac:wsgi-dir}
gitweb-static-dir = ${gitweb:location}/share/gitweb/static/
gitweb-script = $${gitweb-cgi:output}
git-http-backend = $${git-http-backend-cgi:output}
cgid-sock = $${basedirectory:run}/cgid.sock
pid_file = $${basedirectory:run}/apache.pid
pid_file = $${basedirectory:run}/apache.pid
lock_file = $${basedirectory:run}/apache.lock
lock_file = $${basedirectory:run}/apache.lock
ip = $${slap-network-information:global-ipv6}
ip = $${slap-network-information:global-ipv6}
...
@@ -210,8 +216,8 @@ url = ${tracIni:location}/${tracIni:filename}
...
@@ -210,8 +216,8 @@ url = ${tracIni:location}/${tracIni:filename}
output = $${directory:tracconfig}/trac-config-model.ini
output = $${directory:tracconfig}/trac-config-model.ini
mode = 0600
mode = 0600
project_dir = $${rootdirectory:srv}/site
project_dir = $${rootdirectory:srv}/site
#
project_url = http://[$${slap-network-information:global-ipv6}]:8080
project_url = http://[$${slap-network-information:global-ipv6}]:8080
project_url = $${request-frontend:connection-site_url}
#
project_url = $${request-frontend:connection-site_url}
trac_plugins = $${:project_dir}/plugins
trac_plugins = $${:project_dir}/plugins
git_bin = ${git:location}/bin/git
git_bin = ${git:location}/bin/git
git_project_base = $${:project_dir}/git
git_project_base = $${:project_dir}/git
...
@@ -222,7 +228,6 @@ project_description = $${slap-parameter:project-desc}
...
@@ -222,7 +228,6 @@ project_description = $${slap-parameter:project-desc}
project_footer = $${slap-parameter:project-footer}
project_footer = $${slap-parameter:project-footer}
project_name = $${slap-parameter:project-name}
project_name = $${slap-parameter:project-name}
#MySQL informations
#MySQL informations
mysql_username = $${mariadb-urlparse:username}
mysql_username = $${mariadb-urlparse:username}
mysql_password = $${mariadb-urlparse:password}
mysql_password = $${mariadb-urlparse:password}
...
@@ -275,6 +280,31 @@ trac_admin = ${buildout:bin-directory}
...
@@ -275,6 +280,31 @@ trac_admin = ${buildout:bin-directory}
svn_bin = ${subversion-1.9:location}/bin
svn_bin = ${subversion-1.9:location}/bin
svn_python = ${subversion-1.9:location}/lib/svn-python
svn_python = ${subversion-1.9:location}/lib/svn-python
[gitweb-conf]
recipe = slapos.recipe.template
url = ${template-gitweb-conf:location}/${template-gitweb-conf:filename}
output = $${rootdirectory:etc}/gitweb.conf
url-list = $${trac-config:project_url}/git git://[$${slap-network-information:global-ipv6}]
base-directory = $${trac-config:project_dir}/git
[gitweb-cgi]
recipe = slapos.recipe.template
url = ${template-gitweb-cgi:location}/${template-gitweb-cgi:filename}
output = $${rootdirectory:bin}/gitweb.cgi
mode = 700
perl = ${perl:location}/bin/perl
gitweb = ${gitweb:location}/share/gitweb/gitweb.cgi
[git-http-backend-cgi]
recipe = slapos.recipe.template
url = ${template-git-http-backend-cgi:location}/${template-git-http-backend-cgi:filename}
output = $${rootdirectory:bin}/git-http-backend.cgi
mode = 700
githttpbackend = ${git:location}/libexec/git-core/git-http-backend
base-directory = $${trac-config:project_dir}/git
[trac-admin]
[trac-admin]
recipe = slapos.cookbook:pwgen
recipe = slapos.cookbook:pwgen
file = $${buildout:directory}/.password
file = $${buildout:directory}/.password
...
@@ -304,8 +334,10 @@ mysql-password = $${mariadb-urlparse:password}
...
@@ -304,8 +334,10 @@ mysql-password = $${mariadb-urlparse:password}
mysql-database = $${mariadb-urlparse:path}
mysql-database = $${mariadb-urlparse:path}
mysql-host = $${stunnel:local-host}
mysql-host = $${stunnel:local-host}
mysql-port = $${stunnel:local-port}
mysql-port = $${stunnel:local-port}
#S
vn
Project list
#S
VN - GIT
Project list
svn-project-list = $${slap-parameter:svn-project-list}
svn-project-list = $${slap-parameter:svn-project-list}
git-project-list = $${slap-parameter:git-project-list}
git-binary = ${git:location}/bin/git
#configurations files
#configurations files
trac-ini = $${trac-config:output}
trac-ini = $${trac-config:output}
trac-wsgi = $${trac-wsgi:output}
trac-wsgi = $${trac-wsgi:output}
...
@@ -328,6 +360,14 @@ environment = PYTHONPATH=${subversion-1.9:location}/lib/svn-python:$${inittrac:p
...
@@ -328,6 +360,14 @@ environment = PYTHONPATH=${subversion-1.9:location}/lib/svn-python:$${inittrac:p
wrapper-path = $${basedirectory:services}/httpd
wrapper-path = $${basedirectory:services}/httpd
wait-for-files = $${inittrac:file-status}
wait-for-files = $${inittrac:file-status}
[gitdaemon]
recipe = slapos.cookbook:wrapper
ip = $${slap-network-information:global-ipv6}
port = 9418
command-line = ${git:location}/bin/git daemon --export-all --listen=$${:ip} --port=$${:port} --interpolated-path=$${inittrac:site-dir}/git/%D
wrapper-path = $${basedirectory:services}/git-daemon
wait-for-files = $${inittrac:file-status}
[logrotate-entry-apache]
[logrotate-entry-apache]
<= logrotate
<= logrotate
recipe = slapos.cookbook:logrotate.d
recipe = slapos.cookbook:logrotate.d
...
@@ -368,7 +408,6 @@ key-file = $${directory:shellinabox}/private.key
...
@@ -368,7 +408,6 @@ key-file = $${directory:shellinabox}/private.key
[shell-wrapper]
[shell-wrapper]
recipe = slapos.cookbook:wrapper
recipe = slapos.cookbook:wrapper
command-line = ${buildout:bin-directory}/trac-admin $${inittrac:site-dir}
command-line = ${buildout:bin-directory}/trac-admin $${inittrac:site-dir}
#${busybox:location}/bin/sh
environment = PYTHONPATH=${subversion-1.9:location}/lib/svn-python:$${inittrac:python_path}
environment = PYTHONPATH=${subversion-1.9:location}/lib/svn-python:$${inittrac:python_path}
ENV=$${inittrac:site-dir}
ENV=$${inittrac:site-dir}
SNV_REPOS=$${inittrac:site-dir}/svn
SNV_REPOS=$${inittrac:site-dir}/svn
...
@@ -409,6 +448,8 @@ config-custom_domain = $${slap-parameter:domain}
...
@@ -409,6 +448,8 @@ config-custom_domain = $${slap-parameter:domain}
recipe = slapos.cookbook:publish
recipe = slapos.cookbook:publish
backend_url = http://[$${httpd-conf:ip}]:$${httpd-conf:port}/
backend_url = http://[$${httpd-conf:ip}]:$${httpd-conf:port}/
url = $${request-frontend:connection-site_url}
url = $${request-frontend:connection-site_url}
git = $${request-frontend:connection-site_url}/git
svn = $${request-frontend:connection-site_url}/svn
admin_user = $${trac-admin:user}
admin_user = $${trac-admin:user}
admin_password = $${trac-admin:password}
admin_password = $${trac-admin:password}
admin_shell = https://[$${shellinabox:ipv6}]:$${shellinabox:port}/
admin_shell = https://[$${shellinabox:ipv6}]:$${shellinabox:port}/
...
@@ -444,7 +485,7 @@ project-name = project
...
@@ -444,7 +485,7 @@ project-name = project
project-desc = My example project
project-desc = My example project
project-footer = Visit the Trac open source project at<br /><a href="http://trac.edgewall.org/">http://trac.edgewall.org/</a>
project-footer = Visit the Trac open source project at<br /><a href="http://trac.edgewall.org/">http://trac.edgewall.org/</a>
admin-email = you.admin@email.com
admin-email = you.admin@email.com
trac-user-list = {}
trac-user-list = {
"alain.takoudjou":"passwd"
}
svn-project-list = {}
svn-project-list = {
"bonjourgrid":"Sample SVN Project"
}
git-project-list = {}
git-project-list = {
"boinc":"Sample Git repository"
}
software/trac-svn/software.cfg
View file @
57316ba5
...
@@ -19,6 +19,9 @@ parts =
...
@@ -19,6 +19,9 @@ parts =
trac-svn-hook
trac-svn-hook
trac-git-hook
trac-git-hook
post-revprop-change
post-revprop-change
template-gitweb-cgi
template-gitweb-conf
template-git-http-backend-cgi
# trac-plugins-egg
# trac-plugins-egg
# check-egg
# check-egg
slapos.cookbook-repository
slapos.cookbook-repository
...
@@ -40,7 +43,7 @@ extends =
...
@@ -40,7 +43,7 @@ extends =
../../component/git/buildout.cfg
../../component/git/buildout.cfg
../../component/pwgen/buildout.cfg
../../component/pwgen/buildout.cfg
../../component/shellinabox/buildout.cfg
../../component/shellinabox/buildout.cfg
../../component/
busybox/buildout.cfg
../../component/
perl/buildout.cfg
allow-hosts +=
allow-hosts +=
*.edgewall.org
*.edgewall.org
...
@@ -62,6 +65,28 @@ eggs =
...
@@ -62,6 +65,28 @@ eggs =
pytz
pytz
Trac
Trac
[instance]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance.cfg
output = ${buildout:directory}/template.cfg
mode = 0644
md5sum = bc6ed91a1862a10af661713aa0691848
[instance-trac]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-trac.cfg
output = ${buildout:directory}/template-trac.cfg
md5sum = 2ea122303cac6fa912ed65f7c77ebdab
mode = 0644
[instance-mariadb]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-mariadb.cfg
output = ${buildout:directory}/template-mariadb.cfg
md5sum = 4ea69039e41ff45bffe8f2620bdf187c
mode = 0644
[trac-plugins-egg]
[trac-plugins-egg]
recipe = plone.recipe.command
recipe = plone.recipe.command
svn = ${subversion-1.9:location}/bin/svn
svn = ${subversion-1.9:location}/bin/svn
...
@@ -69,83 +94,61 @@ location = ${buildout:parts-directory}/${:_buildout_section_name_}
...
@@ -69,83 +94,61 @@ location = ${buildout:parts-directory}/${:_buildout_section_name_}
multipleproject = ${:location}/SimpleMultiProject-0.0.3dev_r0-py2.7.egg
multipleproject = ${:location}/SimpleMultiProject-0.0.3dev_r0-py2.7.egg
command = ${:svn} co http://trac-hacks.org/svn/simplemultiprojectplugin/trunk/ ${:multipleproject}
command = ${:svn} co http://trac-hacks.org/svn/simplemultiprojectplugin/trunk/ ${:multipleproject}
[t
racIni
]
[t
emplate-download
]
recipe = slapos.recipe.download
recipe = slapos.recipe.download
url = ${:_profile_base_location_}/templates/${:filename}
url = ${:_profile_base_location_}/templates/${:filename}
mode = 0644
mode = 0644
location = ${buildout:parts-directory}/${:_buildout_section_name_}
[tracIni]
<= template-download
filename = trac.ini.in
filename = trac.ini.in
md5sum = 10286b368b9b6eacae2cdd6caf362759
md5sum = 10286b368b9b6eacae2cdd6caf362759
location = ${buildout:parts-directory}/${:_buildout_section_name_}
[tracWsgi]
[tracWsgi]
recipe = slapos.recipe.download
<= template-download
url = ${:_profile_base_location_}/templates/${:filename}
mode = 0644
filename = trac.wsgi.in
filename = trac.wsgi.in
md5sum = 622ca33ed7299409afec43bb79e4c7e9
md5sum = 622ca33ed7299409afec43bb79e4c7e9
location = ${buildout:parts-directory}/${:_buildout_section_name_}
[trac-svn-hook]
[trac-svn-hook]
recipe = slapos.recipe.download
<= template-download
url = ${:_profile_base_location_}/templates/${:filename}
mode = 0644
filename = trac-svn-hook.in
filename = trac-svn-hook.in
md5sum = 81a0e2627af1db4c1d601aabc0ebee0a
md5sum = 81a0e2627af1db4c1d601aabc0ebee0a
location = ${buildout:parts-directory}/${:_buildout_section_name_}
[trac-git-hook]
[trac-git-hook]
recipe = slapos.recipe.download
<= template-download
url = ${:_profile_base_location_}/templates/${:filename}
mode = 0644
filename = trac-git-hook.in
filename = trac-git-hook.in
md5sum = 8704e9717bf1223157b3d25de5a8d9d6
md5sum = 8704e9717bf1223157b3d25de5a8d9d6
location = ${buildout:parts-directory}/${:_buildout_section_name_}
[post-revprop-change]
[post-revprop-change]
recipe = slapos.recipe.download
<= template-download
url = ${:_profile_base_location_}/templates/${:filename}
mode = 0644
filename = post-revprop-change.in
filename = post-revprop-change.in
md5sum = 917deaeda572ca3e98c2baaf15fcdacc
md5sum = 917deaeda572ca3e98c2baaf15fcdacc
location = ${buildout:parts-directory}/${:_buildout_section_name_}
[instance]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance.cfg
output = ${buildout:directory}/template.cfg
mode = 0644
md5sum = bc6ed91a1862a10af661713aa0691848
[instance-trac]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-trac.cfg
output = ${buildout:directory}/template-trac.cfg
md5sum = 7525cd9596527a22cf3447e38771a3c5
mode = 0644
[create-svn-repo]
[create-svn-repo]
recipe = slapos.recipe.download
<= template-download
url = ${:_profile_base_location_}/templates/${:filename}
mode = 0644
filename = create-svn-repo.sh.in
filename = create-svn-repo.sh.in
md5sum = 7ec8822bd5676c3506f079e33ed9f771
md5sum = 7ec8822bd5676c3506f079e33ed9f771
location = ${buildout:parts-directory}/${:_buildout_section_name_}
[instance-mariadb]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-mariadb.cfg
output = ${buildout:directory}/template-mariadb.cfg
md5sum = 4ea69039e41ff45bffe8f2620bdf187c
mode = 0644
[template-httpd-conf]
[template-httpd-conf]
recipe = slapos.recipe.download
<= template-download
url = ${:_profile_base_location_}/templates/${:filename}
mode = 0644
filename = apache.in
filename = apache.in
md5sum = ca8099b21bc08bb66429440917f4f6b6
md5sum = be3418e3053ec7f74a3df21830a7edc0
location = ${buildout:parts-directory}/${:_buildout_section_name_}
[template-gitweb-cgi]
<= template-download
filename = gitweb.cgi.in
md5sum = 957a7741c7ab60c4bee6c640e0bdd2fb
[template-gitweb-conf]
<= template-download
filename = gitweb.conf.in
md5sum = ace5a69f59c0be7ea7454183a5550537
[template-git-http-backend-cgi]
<= template-download
filename = git-http-backend.cgi.in
md5sum = d6101df47ddd3b04e34e1f0284686b55
# Local development
# Local development
[slapos.cookbook-repository]
[slapos.cookbook-repository]
...
@@ -283,3 +286,89 @@ signature-certificate-list =
...
@@ -283,3 +286,89 @@ signature-certificate-list =
#Error: Couldn't install: lxml 3.1.2
#Error: Couldn't install: lxml 3.1.2
lxml = 3.1.1
lxml = 3.1.1
Genshi = 0.7
Jinja2 = 2.6
MySQL-python = 1.2.4
Pygments = 1.6
Trac = 1.0.1
Werkzeug = 0.8.3
apache-libcloud = 0.12.4
async = 0.6.1
buildout-versions = 1.7
collective.recipe.cmd = 0.6
docutils = 0.10
gitdb = 0.5.4
hexagonit.recipe.cmmi = 2.0
inotifyx = 0.2.0
meld3 = 0.6.10
netaddr = 0.7.10
plone.recipe.command = 1.1
pycrypto = 2.6
pytz = 2013b
slapos.recipe.download = 1.0.dev-r4053
slapos.recipe.template = 2.4.2
slapos.toolbox = 0.34.0
smmap = 0.8.2
z3c.recipe.scripts = 1.0.1
# Required by:
# slapos.core==0.35.1
# slapos.toolbox==0.34.0
Flask = 0.9
# Required by:
# slapos.toolbox==0.34.0
GitPython = 0.3.2.RC1
# Required by:
# slapos.toolbox==0.34.0
atomize = 0.1.1
# Required by:
# slapos.toolbox==0.34.0
feedparser = 5.1.3
# Required by:
# slapos.core==0.35.1
netifaces = 0.8
# Required by:
# slapos.toolbox==0.34.0
paramiko = 1.10.1
# Required by:
# slapos.toolbox==0.34.0
psutil = 0.7.0
# Required by:
# slapos.core==0.35.1
pyflakes = 0.7.1
# Required by:
# hexagonit.recipe.download==1.6nxd002
# slapos.cookbook==0.76.1.dev
# slapos.core==0.35.1
# supervisor==3.0b1
# zc.buildout==1.6.0-dev-SlapOS-010
# zope.interface==4.0.5
setuptools = 0.6c12dev-r88846
# Required by:
# slapos.toolbox==0.34.0
slapos.core = 0.35.1
# Required by:
# slapos.core==0.35.1
supervisor = 3.0b1
# Required by:
# slapos.core==0.35.1
unittest2 = 0.5.1
# Required by:
# slapos.toolbox==0.34.0
xml-marshaller = 0.9.7
# Required by:
# slapos.core==0.35.1
zope.interface = 4.0.5
software/trac-svn/templates/apache.in
View file @
57316ba5
...
@@ -42,7 +42,7 @@ WSGIScriptAlias / ${:wsgi_location}/trac.wsgi
...
@@ -42,7 +42,7 @@ WSGIScriptAlias / ${:wsgi_location}/trac.wsgi
DAV svn
DAV svn
SVNParentPath ${:document_root}/svn/
SVNParentPath ${:document_root}/svn/
AuthType Basic
AuthType Basic
AuthName "SVN Repository A
dmin
"
AuthName "SVN Repository A
ccess
"
AuthUserFile ${:document_root}/.htpasswd
AuthUserFile ${:document_root}/.htpasswd
SVNAdvertiseV2Protocol Off
SVNAdvertiseV2Protocol Off
<LimitExcept GET PROPFIND OPTIONS REPORT>
<LimitExcept GET PROPFIND OPTIONS REPORT>
...
@@ -50,10 +50,62 @@ WSGIScriptAlias / ${:wsgi_location}/trac.wsgi
...
@@ -50,10 +50,62 @@ WSGIScriptAlias / ${:wsgi_location}/trac.wsgi
</LimitExcept>
</LimitExcept>
</Location>
</Location>
ScriptSock "${:cgid-sock}"
SetEnv REMOTE_USER=$REDIRECT_REMOTE_USER
Alias "/static/" "${:gitweb-static-dir}"
<Directory "${:gitweb-static-dir}">
Options FollowSymLinks
Require all granted
</Directory>
# This is Static Accelerated git pull
AliasMatch "^/git/(.*/objects/[0-9a-f]{2}/[0-9a-f]{38})$" "${:document_root}/git/$1"
AliasMatch "^/git/(.*/objects/pack/pack-[0-9a-f]{40}.(pack|idx))$" "${:document_root}/git/$1"
# When it can't be statically delivered, we rely on git-http-backend
ScriptAliasMatch \
"(?x)^/git/(.*/(HEAD | \
info/refs | \
objects/(info/[^/]+ | \
[0-9a-f]{2}/[0-9a-f]{38} | \
pack/pack-[0-9a-f]{40}\.(pack|idx)) | \
git-(upload|receive)-pack))$" \
"/srv/slapgrid/slappart19/srv/runner/instance/slappart0/bin/git-http-backend.cgi/$1"
# Everything else is gitweb interface
ScriptAlias "/git" "${:gitweb-script}"
RewriteEngine On
RewriteCond %{QUERY_STRING} service=git-receive-pack
RewriteRule ^/git/.*/info/refs$ - [E=git_receive_pack:1]
<Location /git>
Order deny,allow
Deny from env=git_receive_pack
AuthType Basic
AuthName "Git Push Access"
AuthBasicProvider file
AuthUserFile ${:document_root}/.htpasswd
Require valid-user
Satisfy any
</Location>
<LocationMatch "^/git/.*/git-receive-pack$">
AuthType Basic
AuthName "Git Push Access"
AuthBasicProvider file
AuthUserFile ${:document_root}/.htpasswd
Require valid-user
SetEnv REMOTE_USER $REDIRECT_REMOTE_USER
</LocationMatch>
# List of modules
# List of modules
LoadModule unixd_module modules/mod_unixd.so
LoadModule unixd_module modules/mod_unixd.so
LoadModule access_compat_module modules/mod_access_compat.so
LoadModule access_compat_module modules/mod_access_compat.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule setenvif_module modules/mod_setenvif.so
...
@@ -61,6 +113,8 @@ LoadModule version_module modules/mod_version.so
...
@@ -61,6 +113,8 @@ LoadModule version_module modules/mod_version.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule mime_module modules/mod_mime.so
LoadModule mime_module modules/mod_mime.so
LoadModule cgid_module modules/mod_cgid.so
LoadModule env_module modules/mod_env.so
LoadModule dav_module modules/mod_dav.so
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule negotiation_module modules/mod_negotiation.so
...
@@ -72,6 +126,8 @@ LoadModule wsgi_module modules/mod_wsgi.so
...
@@ -72,6 +126,8 @@ LoadModule wsgi_module modules/mod_wsgi.so
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule autoindex_module modules/mod_autoindex.so
\ No newline at end of file
software/trac-svn/templates/git-http-backend.cgi.in
0 → 100644
View file @
57316ba5
#!/bin/sh
## This is a very dirty hack
export
PATH_INFO
=
"
$$
{REDIRECT_URL:-
$PATH_INFO
}"
GIT_PROJECT_ROOT
=
'${:base-directory}'
GIT_HTTP_EXPORT_ALL
=
exec
'${:githttpbackend}'
$@
software/trac-svn/templates/gitweb.cgi.in
0 → 100644
View file @
57316ba5
#!/bin/sh
GITWEB_CONFIG
=
'${gitweb-conf:output}'
exec
'${:perl}'
'${:gitweb}'
$@
\ No newline at end of file
software/trac-svn/templates/gitweb.conf.in
0 → 100644
View file @
57316ba5
$projectroot = '${:base-directory}';
$site_name = '${slap-parameter:project-name}';
our @git_base_url_list = qw(${:url-list});
# Beautiful URLs
$feature{'pathinfo'}{'default'} = [1];
$feature{'blame'}{'default'} = [1];
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment