Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: ff4e9a987c
Fetching contributors…

Cannot retrieve contributors at this time

80 lines (48 sloc) 1.921 kb


Copyright and Licensing

Copyright Notice

Copyright 2011 Todd A. Jacobs
All rights reserved.

Software License

The software is licensed under the GPLv3. The LICENSE is also included in the source tree.

README License

Creative Commons Attribution-NonCommercial-ShareAlike 3.0 United States License


Have you ever wanted to exercise some Git functionality in your unit or functional tests? The TempGit gem is designed to make life easier–and your filesystem cleaner–when writing Git-related tests.

Key Features

TempGit has some killer features to ease Git-related testing.

  • Instantiate as many Git repositories as you need for testing, each with its own unique directory context.

  • Doesn't rely on potentially-shared environment variables for GIT_DIR or GIT_WORK_TREE. Each instance stores its own directory values.

  • Execute arbitrary Git commands in an instantiated context. If Git can run it, TempGit can run it, too.

  • Won't clutter or clobber your current working directory.

  • Cleans up after itself.

Installation and Usage

This gem has been tested against Ruby 1.9.2. It definitly doesn't work with Ruby 1.8.7, but patches are welcome.

Installing the Gem

gem install tempgit

Using the Library

require 'tempgit'

Example Usage

repo =
puts repo.git('log')

puts repo.git('status')

puts repo.git('log')

Further Reading

  1. RubyGems

  2. Git

  3. RSpec

Jump to Line
Something went wrong with that request. Please try again.