Gitserve
For the time being, gitserve
is meant to be a Connect/Express compatible port of git http-backend
for serving git repos over HTTP/HTTPS. My long term vision for this project is a framework built on top of Connect/Express for easily building and deploying remote git servers by stacking needed features via middlewares.
Bug reports, contributions and feature requests are always welcome!
Getting Started
gitserve
takes an options hash and exposes a Connect/Express compatible middleware. The only required option is the directory in which the bare repositories are located.
Install
$ npm install gitserve
Connect/Express Middleware
var connect = require('connect')
, gitserve = require('gitserve');
var app = connect()
.use(gitserve({ repos: '/path/to/repos' }));
app.listen(3000);
Repo namespacing
gitserve
allows for a leading wildcard path to namespace your repos. For instance, to mimic Github's namespacing you would add a remote
$ git remote add origin http://localhost:3000/JibSales/myAwesomeProject
and gitserve
will look in /path/to/repos/JibSales/myAwesomeProject
for a valid git repository. The namespacing can go as deep as your heart desires.
License
MIT
Special Thanks
Big ups to James Halliday aka, substack as reading through his pushover module made understanding the Smart HTTP Protocol a breeze.