Changes¶
1.1.0 (10 Jul 2026)¶
Git.init()now accepts abareparameter to create a bare repository.
1.0.0 (6 Jul 2026)¶
Warning
Breaking changes:
The
prefixparameter ofRepo.commit_contenthas been renamed tonameand is now optional.
Added
read(), which replays the history of a repository as a series ofGiterationsnapshots, either one per commit or taken on a schedule such asdaily.Added
write(), which turns a series ofGiterationsnapshots into commits, useful for turning dated copies of a project, such as backups, into version history. Combining it withread()allows a repository’s history to be resampled.The
giteratorcommand line tool has grownpackandunpackcommands for moving between files with dates in their names and commits in a repository.Added
Git.log(), which returns the commits in a repository asCommitinstances, giving structured access to the hash, author, committer, dates and full message of each commit.Repo.commit_contentno longer needs a file name, and the content and commit message can now be given when a test cares about them.The documentation has been substantially expanded, and every example in it is now executed as part of the test suite.
Fixed a bug where
Git.clone()failed when the source repository was given as a relative path.Fixed a bug where calling a
Gitinstance with environment variable overrides, asGit.commit()does when given explicit dates, rangitwith only those variables rather than the full process environment.
0.4.0 (4 Jul 2026)¶
Moved to a uv-based,
pyproject.toml-driven project layout, withmainreplacingmasteras the default git branch.Repo.clonenow always ensures a user is configured in the clone, whether specified explicitly, inherited from the source repo, or falling back to the same default asRepo.make, so commits made in clones no longer depend on the git config of the machine the tests are running on.Git.init()can now pin the name of the initial branch, andRepo.makedoes so by default, usingmain, so branch names in test repos no longer depend on the git config of the machine the tests are running on.
0.3.0 (4 Feb 2026)¶
General refresh.
Add
shortparameter to methods that return commit hashes, allowing the full commit hash to be returned.
0.2.0 (1 Oct 2021)¶
Methods that create commits now return the newly-create commit hash.
0.1.0 (28 Sep 2021)¶
Initial release