git-db
git-db copied to clipboard
CouchDB-based git server
= git-db
CouchDB-based git server, avoids the filesystem. (VERY ALPHA)
== Installation
-
Install CouchDB on localhost, and start it up.
-
Install the gem
$ gem install ddollar-git-db
-
Create a git user. (Name can be whatever you like)
-
Set a home directory for the user.
-
Set up the git user's authorized_keys2 file: (modify the command to match your gem particulars)
$HOME/git/.ssh/authorized_keys2
command="/usr/bin/git-db",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty
- Add your localhost as a remote to an existing project and push
$ git remote add test-git-db git@localhost:my-repo.git $ git push test-git-db master
- Go look at the data in CouchDB
http://127.0.0.1:5984/_utils/database.html?gitdb-my-repo
- Clone your repository somewhere else and examine it
$ git clone git@localhost:my-repo.git /tmp/my-repo
- Please report any problems on the issue tracker.
== Links
- Continuous Integration - http://runcoderun.com/ddollar/git-db
- Documentation - http://rdoc.info/projects/ddollar/git-db
== TODO
- Tests
- Refactor and clean up (experimenting with binary protocols can make things a bit messy)
- Authentication tie-in
- Never look at a raw git pack file again
== Note on Patches/Pull Requests
- Fork the project.
- Make your feature addition or bug fix.
- Add tests for it. This is important so I don't break it in a future version unintentionally.
- Commit, do not mess with rakefile, version, or history.
- Send me a pull request. Bonus points for topic branches.
== Copyright
Copyright (c) 2009 David Dollar. See LICENSE for details.