Categorias
Programação

Repositório Git no Apache2

Algum tempo atrás eu coloquei um repositório Git disponibilizado através do Apache2 + WebDAV utilizando a seguinte configuração do apache:

<Location /repositorio.git>
	Dav on
	AuthType Basic
	AuthName "Repositorio Git"
	AuthUserFile /etc/apache2/repositorio.passwd
	Require valid-user
</Location>

Após algum tempo comecei a receber erros ao tentar fazer o push de muitas alterações. Se eu tentasse realizar vários push’s com erro, uma hora o push funcionava.

Fui procurar outras formas de disponibilizar o repositório Git no Apache2 e encontrei a forma descrita abaixo:

SetEnv GIT_PROJECT_ROOT /var/www/git
SetEnv GIT_HTTP_EXPORT_ALL
AliasMatch ^/git/(.*/objects/[0-9a-f]{2}/[0-9a-f]{38})$          /var/www/git/$1
AliasMatch ^/git/(.*/objects/pack/pack-[0-9a-f]{40}.(pack|idx))$ /var/www/git/$1
ScriptAlias /git/ /usr/lib/git-core/git-http-backend/

Esta configuração até agora não deu problema.

Mais detalhes dessa configuração podem ser encontrados no help do comando git-http-backend:

http://manpages.ubuntu.com/manpages/lucid/man1/git-http-backend.1.html

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.