Use .success? convenience method to check for successful system call.
Git repository takes owning workhorse as parameter. All system calls execute through workhorse.run_command now. Always git add and commit when commit is called now.
Pass workhorse when setting up repository for generation.
Pass workhorse the git archive. Execute system calls through run_command.
Echo out text to a file in the project directory for tests so git commit actually does something.