This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
David Dollar (author)
Mon Sep 14 11:37:47 -0700 2009
git-db /
| name | age | message | |
|---|---|---|---|
| |
.document | Sat Sep 12 10:19:12 -0700 2009 | |
| |
.gitignore | Sat Sep 12 10:19:12 -0700 2009 | |
| |
LICENSE | Sat Sep 12 10:19:12 -0700 2009 | |
| |
README.rdoc | Mon Sep 14 08:41:04 -0700 2009 | |
| |
Rakefile | Mon Sep 14 09:09:42 -0700 2009 | |
| |
VERSION | Mon Sep 14 11:37:46 -0700 2009 | |
| |
bin/ | Mon Sep 14 09:17:21 -0700 2009 | |
| |
git-db.gemspec | Mon Sep 14 11:37:47 -0700 2009 | |
| |
lib/ | Mon Sep 14 11:37:35 -0700 2009 | |
| |
spec/ | Mon Sep 14 11:37:35 -0700 2009 |
README.rdoc
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 <your ssh public key>
- 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 - runcoderun.com/ddollar/git-db
- Documentation - 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 © 2009 David Dollar. See LICENSE for details.







