{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [], "description": "[![Build Status](https://travis-ci.org/wtsi-hgi/git-common-sync.svg?branch=master)](https://travis-ci.org/wtsi-hgi/git-common-sync)\n[![codecov](https://codecov.io/gh/wtsi-hgi/git-common-sync/branch/master/graph/badge.svg)](https://codecov.io/gh/wtsi-hgi/git-common-sync)\n[![PyPI version](https://badge.fury.io/py/gitcommonsync.svg)](https://badge.fury.io/py/gitcommonsync)\n\n\n# Git Common Sync\n_A tool to synchronise common files between Git repositories._\n\n\n## Features\n- Programmatically synchronises git repositories according to a specification.\n- Supports synchronisation of:\n - Files and directories.\n - Directories managed by [git-subrepo](https://github.com/ingydotnet/git-subrepo).\n - Content generated using templates and project specific values.\n- Ansible support.\n\n\n## How to use\n### Prerequisites\n - git >= 2.10.0\n - git-subrepo >= 0.3.1\n - python >= 3.6\n - rsync >= 3.1.1\n\n\n### Installation\n#### Ansible Module\n```yaml\n- gitcommonsync:\n repository: http://www.example.com/repository.git\n author_name: Ansible Synchroniser\n author_email: team@example.com\n key_file: /custom/id_rsa\n files:\n - src: /example/README.md\n dest: README.md\n overwrite: false\n - src: /example/directory/\n dest: config\n templates:\n - src: /example/ansible-groups.sh.j2\n dest: ci/before_scripts.d/start.sh\n variables:\n message: \"Hello world\"\n overwrite: true\n subrepos:\n - src: http://www.example.com/other-repository.git\n dest: subrepos/other-repository\n branch: master\n overwrite: true\n```\n\n\n## Development\n### Setup\nInstall both library dependencies and the dependencies needed for testing:\n```bash\n$ pip install -q -r requirements.txt\n$ pip install -q -r test_requirements.txt\n```\n\n### Testing\nTo run the tests and generate a coverage report with unittest:\n```bash\n./test-runner.sh\n```\nIf you wish to run the tests inside a Docker container (recommended), build `Docker.test`.\n\n\n## Alternatives\n- Powerful but complex Ruby based alternative from the Puppet community: https://github.com/voxpupuli/modulesync.\n\n\n## License\n[MIT license](LICENSE.txt).\n\nCopyright (c) 2017 Genome Research Limited\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/wtsi-hgi/git-common-sync", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "gitcommonsync", "package_url": "https://pypi.org/project/gitcommonsync/", "platform": "", "project_url": "https://pypi.org/project/gitcommonsync/", "project_urls": { "Homepage": "https://github.com/wtsi-hgi/git-common-sync" }, "release_url": "https://pypi.org/project/gitcommonsync/2.0.0/", "requires_dist": null, "requires_python": "", "summary": "A tool to synchronise common files between Git repositories", "version": "2.0.0" }, "last_serial": 3185146, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "b3360574783dd64ac156eaf429f363ef", "sha256": "98aaa1105e84364eac522736b366550ea9e5cbc45ac67a96e2fe91d7c635cbd2" }, "downloads": -1, "filename": "gitcommonsync-1.0.0.tar.gz", "has_sig": false, "md5_digest": "b3360574783dd64ac156eaf429f363ef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13608, "upload_time": "2017-07-18T15:31:11", "url": "https://files.pythonhosted.org/packages/db/04/9654a9c9daa65f9de3f360370fe055b5953b3431926720e729afd5c9c7fc/gitcommonsync-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "d6f41d8f569ae4ad90930743ef20dc09", "sha256": "4d72a640d7b658af89e3a9b679a45be1183f4730735f6f4ca8384c9c32eee9a7" }, "downloads": -1, "filename": "gitcommonsync-1.1.0.tar.gz", "has_sig": false, "md5_digest": "d6f41d8f569ae4ad90930743ef20dc09", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14766, "upload_time": "2017-07-19T11:47:32", "url": "https://files.pythonhosted.org/packages/13/86/6ae16e9898b6c6c7834c03820a878bc9d873e7661b474b5be60d4b567a68/gitcommonsync-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "db48b8070c323438058023efd9671a7e", "sha256": "6df303a71b82d5959ff21ac0c34d6ea18f1b7706c44ca846c4b04e6f5c3c7252" }, "downloads": -1, "filename": "gitcommonsync-1.1.1.tar.gz", "has_sig": false, "md5_digest": "db48b8070c323438058023efd9671a7e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14936, "upload_time": "2017-07-19T11:45:34", "url": "https://files.pythonhosted.org/packages/85/e9/5689ceb2c4860a22b3ff258d86a36d16dc656d8078707699efecff3ea657/gitcommonsync-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "baafddb475f12e01e92fa7bed8677396", "sha256": "295abb32aeb5a40d24d697bc2d1e6de702a71867bf19aec0d96b0a864571283b" }, "downloads": -1, "filename": "gitcommonsync-1.1.2.tar.gz", "has_sig": false, "md5_digest": "baafddb475f12e01e92fa7bed8677396", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15129, "upload_time": "2017-07-20T08:28:18", "url": "https://files.pythonhosted.org/packages/91/41/9bb6005c4182de08532a9ae9fafb9dc8f809a3df969159b0fe27ce0b2ffc/gitcommonsync-1.1.2.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "56e95d63fdf14e7db526063a0466abfb", "sha256": "593cbcae6fd553b22949c40e2603516690fcde07a1f4054f43d78abcff156fe6" }, "downloads": -1, "filename": "gitcommonsync-1.2.0.tar.gz", "has_sig": false, "md5_digest": "56e95d63fdf14e7db526063a0466abfb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15754, "upload_time": "2017-07-20T13:53:28", "url": "https://files.pythonhosted.org/packages/33/6d/856a852e5bde87a2164e96010addcd3fabe6969838c8ff5ea4c38a0077a4/gitcommonsync-1.2.0.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "9bb702a57d7076f17d889ceead038ad6", "sha256": "279d7819afdb7b0f0dd2dfe4d9fd9e775e777496f27f0ba5aeb0d58d59fcd636" }, "downloads": -1, "filename": "gitcommonsync-2.0.0.tar.gz", "has_sig": false, "md5_digest": "9bb702a57d7076f17d889ceead038ad6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15658, "upload_time": "2017-09-19T11:18:49", "url": "https://files.pythonhosted.org/packages/8e/b3/223e8f4ac3aeb6d30238f7441fb6429e94e279c4251204036f68a7e08ac2/gitcommonsync-2.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9bb702a57d7076f17d889ceead038ad6", "sha256": "279d7819afdb7b0f0dd2dfe4d9fd9e775e777496f27f0ba5aeb0d58d59fcd636" }, "downloads": -1, "filename": "gitcommonsync-2.0.0.tar.gz", "has_sig": false, "md5_digest": "9bb702a57d7076f17d889ceead038ad6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15658, "upload_time": "2017-09-19T11:18:49", "url": "https://files.pythonhosted.org/packages/8e/b3/223e8f4ac3aeb6d30238f7441fb6429e94e279c4251204036f68a7e08ac2/gitcommonsync-2.0.0.tar.gz" } ] }