Provides access to `git subrepo` in Python
Project description
Git Subrepo Python Wrapper
In the same way that `GitPython <https://pypi.python.org/pypi/GitPython/>`__ wraps git, this library provides easy access to git subrepo in Python.
How to use
Prerequisites
git >= 2.10.0 (on path)
git-subrepo >= 0.3.1
python >= 3.6
Installation
Stable releases can be installed via PyPI:
$ pip install gitsubrepo
Bleeding edge versions can be installed directly from GitHub:
$ pip install git+https://github.com/wtsi-hgi/python-git-subrepo.git@${commitIdBranchOrTag}#egg=gitsubrepo
To declare this library as a dependency of your project, add it to your requirement.txt file.
API
The library currently supports 3 git subrepo operations: clone, pull and status. Please see the documentation for specific information on how to use these methods.
Example usage:
import gitsubrepo
remote_repository = "https://github.com/colin-nolan/test-repository.git"
repository_location = "/tmp/repo"
subrepo_location = f"{repository_location}/subrepo"
branch = "develop"
commit_reference = gitsubrepo.clone(remote_repository, subrepo_location, branch=branch)
updated_commit_reference = gitsubrepo.pull(subrepo_location)
subrepo_remote, subrepo_branch, subrepo_commit = gitsubrepo.status(subrepo_location)
assert subrepo_remote == remote_repository
assert subrepo_branch == branch
Development
Setup
Install both library dependencies and the dependencies needed for testing:
$ pip install -q -r requirements.txt
$ pip install -q -r test_requirements.txt
Testing
To run the tests and generate a coverage report with unittest:
./test-runner.sh
If you wish to run the tests inside a Docker container, build Docker.test.
License
Copyright (c) 2017 Genome Research Limited
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file gitsubrepo-1.1.0.tar.gz
.
File metadata
- Download URL: gitsubrepo-1.1.0.tar.gz
- Upload date:
- Size: 8.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41b581f4df2aa68b283e29e65b6e561541e1ade819c0976997671877fc227239 |
|
MD5 | ebcf66326f451abbbe76405fa988e98d |
|
BLAKE2b-256 | 7477ad2aa9fe024372682c06d13d4ac0ac9a4742b7607d29ace0cb3acb7dbb70 |