Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP


schacon edited this page · 12 revisions
Clone this wiki locally

* Git-Ruby Is Not Maintained *

The Git-Ruby project is no longer maintained by me. I will leave it up here for now, but almost all of this code has since been incorporated into the
Grit project
and works much, much better. If you’re interested in using Git from Ruby, please check out Grit (specifically the schacon/grit fork) – it does as much as it can from Ruby and falls back to system calls if it needs to. The API is different, but the project is being actively maintained.

Original Intro

If you have questions, post to our
Google Group

After many months of agonizing thinking, I have decided to split the ruby-git project into two projects. Originally, I tried to implement some of the git stuff as pure ruby in place of system calls to ‘git’ binary. I am instead going to revert the codebase of ruby-git to only use system calls and make a second library that makes no system calls – implements everything entirely in ruby.

I am aiming to create a command line client ‘gitr’ that can do most of the same things the ‘git’ binary can do, and a ‘gitweb’ type server that can browse repositories without the git binary.

So far, I have ‘gitr’ started and the following commands implemented:

  • ls_files
  • add
  • commit
  • log
  • rev-list
  • cat-file (treeish)
  • rev-parse (treeish)
  • branches
  • init
  • ls-tree (tree)
  • clone
  • fetch
  • checkout

Next on the list are:

  • remove
  • branch

Sometime later, I’ll hit up :

  • push
  • merge
  • diff
  • grep
  • archive

My first goal with this library will be to make the simple version of git-wiki work entirely without git.

Something went wrong with that request. Please try again.