Skip to main content

Provides access to `git subrepo` in Python

Project description

Build Status codecov PyPI version

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

MIT 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

gitsubrepo-1.1.0.tar.gz (8.0 kB view details)

Uploaded Source

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

Hashes for gitsubrepo-1.1.0.tar.gz
Algorithm Hash digest
SHA256 41b581f4df2aa68b283e29e65b6e561541e1ade819c0976997671877fc227239
MD5 ebcf66326f451abbbe76405fa988e98d
BLAKE2b-256 7477ad2aa9fe024372682c06d13d4ac0ac9a4742b7607d29ace0cb3acb7dbb70

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page