Sim, isso é relativamente simples. Você precisa dizer ao apache para usar somente o git-http-backend para as coisas que o git está interessado, que é qualquer coisa que corresponda a ^.*/(HEAD|info/refs|objects/info/.*|git-(upload|receive)-pack)$
Atualmente, estou hospedando meus próprios git-repos para meus projetos privados. Para isso, eu uso o Apache e o link padrão .
Agora, um repo pode ser acessado em um URL como este:
http://vcs.myserver.lc/git/Repo.git
Com esse URL, posso enviar, empurrar e clonar para / do repositório usando git . No entanto, abrir esse URL em um navegador simplesmente me fornece uma página em branco e, agora, estou procurando uma maneira de evitar isso.
Em vez disso, gostaria que o Apache apresentasse uma página com algumas informações como:
This is not a web-page, this is a git-repo. You can clone this repo using
git clone [URL]
...
Seria bom se [URL]
fosse substituído pela URL atual (usando PHP, por exemplo), mas HTML puro também seria bom.
Sei que isso deve ser possível desde O github faz o mesmo com seus repositórios.
Eu consegui fazer algo semelhante para o vcs.myserver.lc
-domain especificando um DocumentRoot
no arquivo VHost-config:
DocumentRoot /srv/http/vcs/
Neste caminho, eu coloco um simples arquivo index.html
com instruções básicas.
Então, é a maneira simples de mostrar um lado de informação para navegadores enquanto o git-client ainda pode trabalhar com o repo? Posso redirecionar os navegadores para um site info específico?
Sim, isso é relativamente simples. Você precisa dizer ao apache para usar somente o git-http-backend para as coisas que o git está interessado, que é qualquer coisa que corresponda a ^.*/(HEAD|info/refs|objects/info/.*|git-(upload|receive)-pack)$
Tags git apache-2.2 arch-linux