Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Integrate Git with TDD: mechanize temporary Git repositories during testing.

branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

README.rdoc

TempGit

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

Purpose

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 = TempGit::GitDir.new
puts repo.git('log')

repo.add_new_file
puts repo.git('status')

repo.commit_with_sequence_number
puts repo.git('log')

Further Reading

  1. RubyGems

  2. Git

  3. RSpec

Something went wrong with that request. Please try again.