This project was inspired in the Grack Smart-HTTP server handler (written
by Scott Chacon) but developed using Sinatra and aims replace the
original git-http-backend
including new features.
The main goal of the Git-Lighttp is implement the following useful features.
- Smart-HTTP, based on git-http-backend.
- Authentication flexible based on database or configuration file like
htpasswd
. - Authorization flexible based on database or configuration file like
htgroup
. - API to get information about repository (Treeish).
Install the Git-Lighttp using Rubygems.
$ gem install git-lighttp
Or checkout the project hosted on Gitlab or Github.
$ git clone https://gitlab.com/hallison/git-lighttp.git
$ ...
$ cd git-lighttp
$ make install
Configure the Rackup file (config.ru
) using the following instructions:
# 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
And run:
$ rackup --port 9092 --daemonize
$ git clone http://localhost:9092/mycode.git
You can use the .netrc
for improve your connection. Put this:
machine <host> login <username> password <password>
The Git-Lighttp is under development, so there are still many improvements to be made. Please, help us to improve the project sending your feedback to issues or sending email to hallisonbatista@gmail.com.
Discuss in Google Groups.
Written by Hallison Batista hallisonbatista@gmail.com.
If you find a bug, please report it at the Git-Lighttp project's issues tracker on Gitlab or Github.
Git-Lighttp is Copyright (c) 2011-2016 Hallison Batista.
This is free software, and may be redistributed under the terms specified in LICENSE.txt.