Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

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.

Files for gitsubrepo, version 1.1.0
Filename, size File type Python version Upload date Hashes
Filename, size gitsubrepo-1.1.0.tar.gz (8.0 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page