skip to navigation
skip to content

gitcommonsync 1.2.0

A tool to synchronise common files between Git repositories

Latest Version: 2.0.0

Git Common Sync

A tool to synchronise common files between Git repositories.

Features

  • Programmatically synchronises git repositories according to a specification.
  • Supports synchronisation of:
    • Files and directories.
    • Directories managed by git-subrepo.
    • Content generated using templates and project specific values.
  • Ansible support.

How to use

Prerequisites

  • git >= 2.10.0
  • git-subrepo >= 0.3.1
  • python >= 3.6
  • rsync >= 3.1.1

Installation

Ansible Module

- gitcommonsync:
    repository: http://www.example.com/repository.git
    committer_name: Ansible Synchroniser
    committer_email: team@example.com
    key_file: /custom/id_rsa
    files:
      - src: /example/README.md
        dest: README.md
        overwrite: false
      - src: /example/directory/
        dest: config
    templates:
      - src: /example/ansible-groups.sh.j2
        dest: ci/before_scripts.d/start.sh
        variables:
          message: "Hello world"
        overwrite: true
    subrepos:
      - src: http://www.example.com/other-repository.git
        dest: subrepos/other-repository
        branch: master
        overwrite: true

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 (recommended), build Docker.test.

Alternatives

License

MIT license.

Copyright (c) 2017 Genome Research Limited

 
File Type Py Version Uploaded on Size
gitcommonsync-1.2.0.tar.gz (md5) Source 2017-07-20 15KB