Use apache to serve out http git repos.
Assumes that every project in gerrit has a corresponding repo in /var/lib/git that can be replicated to. That's probably a one-time offline creation, followed by an additional step in the adding a project docs. Change-Id: If9b987717550d5b251366c1408d949c55e64828a
This commit is contained in:
parent
6fcec04342
commit
0fbbe34dfc
@ -3,3 +3,9 @@
|
|||||||
|
|
||||||
[remote "github"]
|
[remote "github"]
|
||||||
url = git@github.com:${name}.git
|
url = git@github.com:${name}.git
|
||||||
|
|
||||||
|
[remote "local"]
|
||||||
|
url = file:///var/lib/git/${name}.git
|
||||||
|
replicationDelay = 0
|
||||||
|
threads = 4
|
||||||
|
mirror = true
|
||||||
|
@ -43,13 +43,22 @@
|
|||||||
RewriteEngine on
|
RewriteEngine on
|
||||||
RewriteCond %{HTTP_HOST} !<%= virtual_hostname %>
|
RewriteCond %{HTTP_HOST} !<%= virtual_hostname %>
|
||||||
RewriteRule ^.*$ <%= canonicalweburl %>
|
RewriteRule ^.*$ <%= canonicalweburl %>
|
||||||
|
RewriteCond %{REQUEST_URI} !^/p/
|
||||||
|
RewriteRule ^/(.*)$ http://localhost:8081/$1 [P]
|
||||||
|
|
||||||
ProxyPassReverse / http://localhost:8081/
|
ProxyPassReverse / http://localhost:8081/
|
||||||
<Location />
|
|
||||||
Order allow,deny
|
SetEnv GIT_PROJECT_ROOT /var/lib/git/
|
||||||
Allow from all
|
SetEnv GIT_HTTP_EXPORT_ALL
|
||||||
ProxyPass http://localhost:8081/ retry=0
|
|
||||||
</Location>
|
AliasMatch ^/p/(.*/objects/[0-9a-f]{2}/[0-9a-f]{38})$ /var/lib/git/$1
|
||||||
|
AliasMatch ^/p/(.*/objects/pack/pack-[0-9a-f]{40}.(pack|idx))$ /var/lib/git/$1
|
||||||
|
ScriptAlias /p/ /usr/lib/git-core/git-http-backend/
|
||||||
|
|
||||||
|
<Directory /home/gerrit2/review_site/git/>
|
||||||
|
Order allow,deny
|
||||||
|
Allow from all
|
||||||
|
</Directory>
|
||||||
|
|
||||||
|
|
||||||
</VirtualHost>
|
</VirtualHost>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user