Este projeto foi inspirado no Grack, um servidor de processos Smart-HTTP
(escrito por Scott Chacon, mas projetado usando Sinatra e visa
substituir o git-http-backend
original incluindo novas funcionalidades.
O objetivo principal do Git-Lighttp é implementar as seguintes funcionalidades:
- Smart-HTTP, baseado no git-http-backend.
- Autenticação flexível baseado em banco de dados ou arquivo de configuração
como
htpasswd
. - Autorização básica baseado em banco de dados ou arquivo de configuração
como o
htgroup
. - API para obter informações sobre o repositório (Treeish).
Instale o Git-Lighttp usando Rubygems.
$ gem install git-lighttp
Ou faça um checkout do projeto hospedado no Gitlab ou no Github.
$ git clone https://gitlab.com/hallison/git-lighttp.git
...
$ cd git-lighttp
$ make install
Configure o arquivo Rackup (+config.ru+) usando as seguintes instruções:
# config.ru
require "git/lighttp"
Git::Lighttp::HttpBackend.configure do |server|
server.project_root = "/home/git/repositories"
server.git_path = "/usr/bin/git"
server.get_any_file = true
server.upload_pack = true
server.receive_pack = false
server.authenticate = true
end
run Git::Lighttp::HttpBackend
E execute:
$ rackup --port 9092 --daemonize
$ git clone http://localhost:9092/mycode.git
Você poderá usar o arquivo .netrc
para melhorar sua conexão. Coloque
isso:
machine <servidor> login <usuario> password <senha>
O Git-Lighttp está em desenvolvimento, então ainda há muitas melhorias a serem feitas. Por favor, nos ajude a melhorar o projeto enviando seu comentário nos problemas encontrados ou enviando um email para hallisonbatista@gmail.com.
Discuta no Google Groups.
Escrito por Hallison Batista hallisonbatista@gmail.com.
Se você encontrar um erro, por favor, informe no gerenciador de erros do projeto Git-Lighttp no Gitlab ou no Github.
Git-Lighttp é Copyright (c) 2011-2016 Hallison Batista.
Este é um software livre e pode ser redistribuído sob os termos especificados em LICENSE.txt.