A modular framework for creating private git servers
JavaScript
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
test
.gitignore
Makefile
README.md
index.js
package.json

README.md

#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.