Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

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


Release history Release notifications

This version
History Node

1.1.0

History Node

1.0.2

History Node

1.0.1

History Node

1.0.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
gitsubrepo-1.1.0.tar.gz (8.0 kB) Copy SHA256 hash SHA256 Source None Aug 8, 2017

Supported by

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