<img src=“http://travis-ci.org/CodeGnome/tempgit.png” />
Copyright 2011 Todd A. Jacobs All rights reserved.
The software is licensed under the GPLv3. The LICENSE is also included in the source tree.
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.
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.
This gem has been tested against Ruby 1.9.2. It definitly doesn’t work with Ruby 1.8.7, but patches are welcome.
gem install tempgit
require 'tempgit'
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')