Git-based stores

Warning

The git-based store here passes all tests, but may perform slower than expected. The code should be considered beta quality in this release.

The functionality in this module requires the dulwich module (but no git binary). Repositories are manipulated directly, i.e. possibly existing working copies are not touched.

class simplekv.git.GitCommitStore(repo_path, branch=b'master', subdir=b'')

A git-commit based store.

For every put or delete operation, a new commit will be created in a git repository. Keys themselves will map onto file-paths in the repository, possibly in a subdirectory.

Parameters:
  • repo_path – Path to the git repository.
  • branch – The branch to commit to. Must be an ascii-encoded binary string.
  • subdir – Prefixed to every key committed. Must be an ascii-encoded binary string.