Create temporary git repos in python.
Project description
Impermagit makes it easier to test python programs that use / integrate with git. For example:
from impermagit import fleeting_repo
with fleeting_repo() as repo:
# there is not a git repo created in a temporary dir
# somewhere, allowing you to do things like:
# add some files with some contents and commit them
repo.commit([('test.txt', 'test contents\n'),
('subdir/test2.txt', 'other contents\n')])
# update contents
repo.commit([('test.txt', 'new test contents\n')])
# git rm files by passing None as contents
repo.commit([('subdir/test.txt', None)])
# run arbitrary git cmds in the repo when you don't care
# about the output (will raise a GitExeException if it
# fails)
repo.do_git(["rm", "some-other-file.txt"])
# run arbitrary git cmds in the repo and get back
# stdout / stderr.
with repo.yield_git(["log"]) as (out, err):
print out.read()
print err.read()
# and here, the repo is gone and the temporary dir deleted.
You can also create a Repo object directly, if you’d prefer to control the lifecycle more closely:
from imperagit import Repo
repo = Repo('/some/dir/you/manage')
By default, Imperagit uses “/usr/bin/env git” as the git executable, but this can be overridden with the git_exe arg to both fleeting_repo and Repo.
You can see more detailed docs with the interactive help:
>>> import impermagit >>> help(impermagit)
Impermagit requires Python 2.6+, and has not been tested with Python 3.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
impermagit-1.0.0.tar.gz
(6.9 kB
view details)
File details
Details for the file impermagit-1.0.0.tar.gz.
File metadata
- Download URL: impermagit-1.0.0.tar.gz
- Upload date:
- Size: 6.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
70558f150c2e3cd92bf65f9cb1dedf2a9c6bc1599a8cbf1c17d56ed009bafb36
|
|
| MD5 |
aba8280b9e03bf7ac51a50f5bad2f0b8
|
|
| BLAKE2b-256 |
b966afe652c2deceef84b2937e45c3ab6bef8baed475b37e0a7263b505b148e0
|