{ "info": { "author": "Oliver Bristow", "author_email": "github+pypi@oliverbristow.co.uk", "bugtrack_url": null, "classifiers": [], "description": "[![PyPI version](https://badge.fury.io/py/gitlab-sync.svg)](https://badge.fury.io/py/gitlab-sync)\n[![Build Status](https://travis-ci.org/Code0x58/gitlab-sync.svg?branch=master)](https://travis-ci.org/Code0x58/gitlab-sync)\n\n# gitlab-sync\nThis provides the gitlab-sync tool which clones GitLab and updates repositories.\n\n\n## Config\nYou will need to have [SSH access configured for GitLab](https://docs.gitlab.com/ee/ssh/), and\nhave created a [personal access token](https://docs.gitlab.com/ee/api/#personal-access-tokens)\nwith API access.\n\n\nThe config goes in `~/.config/gitlab-sync.toml` or `~/.gitlab-sync.toml`,\nwhich is [TOML](https://github.com/toml-lang/toml).\n\n\n```toml\n[\"~/team-x\"]\naccess-token = \"9koXpg98eAheJpvBs5tK\"\n# you can see the paths of groups from the URL on GitLab\npaths = [ \"path/to/team-x\" ]\n# strip the common prefix from the given path\nstrip-path = true\nstrategy = \"mirror\"\n\n[\"~/gitlab\"]\n# get the gitlab access token from running a command\naccess-token = [\"pass\", \"GitLab/api-access-token\"]\n\n# paths to clone from GitLab, can include slashes for groups/projects\npaths = [ \"mintel\", \"obristow\" ]\nstrategy = \"mirror\"\n\n```\n\n\n## Usage\n```\n$ gitlab-sync local-update\n```\n\n### Strategies\nYou have to define a strategy for each local copy you define in config, the\nstrategy defines what will happen when gitlab-sync runs over the given copy.\n\n#### mirror\n 1. delete repositories which no longer exist remotely\n 2. move repositories which have been moved remotely\n 3. update local repositories\n 4. clean local repositories (prune+gc)\n 5. clone new repositories\n\nThis is good for having a local copy which you can use to perform searches\nin using something like [`ag`](https://github.com/ggreer/the_silver_searcher).\n\nThe local copies should not be modified by users.\n\n\n## To do\n * flesh out integration tests\n * cater for new repositories being made locally and pushed remotely\n * compare (toasted-)marshmallow as a replacement for attr+voluptious - marshmallow uses attr\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "gitlab-sync", "package_url": "https://pypi.org/project/gitlab-sync/", "platform": "", "project_url": "https://pypi.org/project/gitlab-sync/", "project_urls": null, "release_url": "https://pypi.org/project/gitlab-sync/0.2.8/", "requires_dist": [ "aiohttp", "click", "toml", "voluptuous", "pytest (>=3.9) ; extra == 'test'", "pytest-docker ; extra == 'test'", "grab ; extra == 'test'", "requests ; extra == 'test'" ], "requires_python": ">=3.6", "summary": "synchronise GitLab repositories", "version": "0.2.8" }, "last_serial": 5109842, "releases": { "0.2.0": [ { "comment_text": "", "digests": { "md5": "b1783773c217dae18c80c738bc80da12", "sha256": "4463628413cb9f8461d7522845fa795b419de95208efafa168b60b624e16e797" }, "downloads": -1, "filename": "gitlab_sync-0.2.0-py3-none-any.whl", "has_sig": true, "md5_digest": "b1783773c217dae18c80c738bc80da12", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 9002, "upload_time": "2018-11-28T01:06:41", "url": "https://files.pythonhosted.org/packages/b7/13/96b8b4c2553929fc0c406ad91e7efb5fefe9aeb2b7300384530e3c82516b/gitlab_sync-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3d2dfa2893c4b2fe717e71e98714e15c", "sha256": "19ce2f4487971a42394acea82ff44f4ac12159eb8c05d7689364bbaae0a06db7" }, "downloads": -1, "filename": "gitlab-sync-0.2.0.tar.gz", "has_sig": true, "md5_digest": "3d2dfa2893c4b2fe717e71e98714e15c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 11707, "upload_time": "2018-11-28T01:06:44", "url": "https://files.pythonhosted.org/packages/c9/2f/542a9dfe1d39aec852b9dcba522e96c56594c72c7b586ff98b23f93e813e/gitlab-sync-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "8907d0e51b26950bf2b8003a4af3f878", "sha256": "e4071f91935f520a68441d515377b60bec8a9c61ed7ab439fef5ce0dbb6fea84" }, "downloads": -1, "filename": "gitlab_sync-0.2.1-py3-none-any.whl", "has_sig": true, "md5_digest": "8907d0e51b26950bf2b8003a4af3f878", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 9022, "upload_time": "2018-11-28T01:13:05", "url": "https://files.pythonhosted.org/packages/0c/d8/691ce753671907a06cc1af9a97869282aed05130094078ac9e3a267e900f/gitlab_sync-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b51dc35ffe175f369be7bad99ddf0b42", "sha256": "7e80d7339a36137169f8ba24361986b354760a38703af90993717d03bd93a465" }, "downloads": -1, "filename": "gitlab-sync-0.2.1.tar.gz", "has_sig": true, "md5_digest": "b51dc35ffe175f369be7bad99ddf0b42", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 11717, "upload_time": "2018-11-28T01:13:07", "url": "https://files.pythonhosted.org/packages/cb/6e/59528941559a927cdab26e66eac9bed33993e9afb047eb611a30dc622cb7/gitlab-sync-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "47294ab3057d54bf0010e940cd04b3f4", "sha256": "209a336b59a32517667be7b8184781ed6e036fa1f3cb5f17ab5cbc896900c4fe" }, "downloads": -1, "filename": "gitlab_sync-0.2.2-py3-none-any.whl", "has_sig": true, "md5_digest": "47294ab3057d54bf0010e940cd04b3f4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 9025, "upload_time": "2018-11-28T02:50:58", "url": "https://files.pythonhosted.org/packages/e4/6c/887529f90e69f4b9bc6bc7493d85c8a3a9dd5854e02e5ef842a31dac851d/gitlab_sync-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "83ebd23705b55cc1b05b9bd88b801372", "sha256": "9adc0c7494d99151206b6b8cc2aa1b7e526891b0ddd0d8e33fbfca54c06a5a6b" }, "downloads": -1, "filename": "gitlab-sync-0.2.2.tar.gz", "has_sig": true, "md5_digest": "83ebd23705b55cc1b05b9bd88b801372", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 11743, "upload_time": "2018-11-28T02:51:00", "url": "https://files.pythonhosted.org/packages/1d/f1/50c3b9249a0eb9a968a3ae708412cc57a3da9527c77e2c7ea94fb4a0e568/gitlab-sync-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "5d2edb23e0cfe0ebc38aea1ae8006cb1", "sha256": "2117cceaa42e43e03708b7915f955b0418639f032a0754fe5f7d67d909acd2a7" }, "downloads": -1, "filename": "gitlab_sync-0.2.3-py3-none-any.whl", "has_sig": true, "md5_digest": "5d2edb23e0cfe0ebc38aea1ae8006cb1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 9150, "upload_time": "2018-12-03T22:26:31", "url": "https://files.pythonhosted.org/packages/06/08/4478a69f93e2c3dd17d56376d222896ee6ea704de1e16cffcd79b3aedfc1/gitlab_sync-0.2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "95c9a815d82884d1a856a87ccc93bb20", "sha256": "219ee8935eddd6b0cf9284dda3e7e32d08dfb8d7ccf5857e61f312ec940fdf0a" }, "downloads": -1, "filename": "gitlab-sync-0.2.3.tar.gz", "has_sig": true, "md5_digest": "95c9a815d82884d1a856a87ccc93bb20", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 12304, "upload_time": "2018-12-03T22:26:34", "url": "https://files.pythonhosted.org/packages/7b/c0/9d0bea13400a453d92112584c880d7b007b1d20e38652a377e4ee5b179d1/gitlab-sync-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "27d8e2186585bdf2652b8f45c15c7485", "sha256": "d28661a92760ee3a6538f8e45a1948f8390601a8c1a9c50f88dc79c9debb1286" }, "downloads": -1, "filename": "gitlab_sync-0.2.4-py3-none-any.whl", "has_sig": true, "md5_digest": "27d8e2186585bdf2652b8f45c15c7485", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 9780, "upload_time": "2018-12-04T19:18:48", "url": "https://files.pythonhosted.org/packages/26/1c/49504679c0795146f32be7a5bdc85649f5dceb402409b7b840b17d7ee8bf/gitlab_sync-0.2.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "efcb439244f705398233e6790985062f", "sha256": "5ce647d677b07cbc691c616b276724db9d460e782e3643b98f99d06944d24d31" }, "downloads": -1, "filename": "gitlab-sync-0.2.4.tar.gz", "has_sig": true, "md5_digest": "efcb439244f705398233e6790985062f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 12909, "upload_time": "2018-12-04T19:18:49", "url": "https://files.pythonhosted.org/packages/c4/96/bd7a3888e68f78247face694eb0211f62ead4a2e236cf0370102c82d8b88/gitlab-sync-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "88c78d24905118612415b8b6ba383675", "sha256": "b049d91556dc2ef944f3498bbad15de9c360ce7c1ad914880ce6534261968098" }, "downloads": -1, "filename": "gitlab_sync-0.2.5-py3-none-any.whl", "has_sig": true, "md5_digest": "88c78d24905118612415b8b6ba383675", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 9935, "upload_time": "2018-12-09T22:00:57", "url": "https://files.pythonhosted.org/packages/82/45/d63a6a5172ed46f6fa3709d7fd4aaa69c3f3db7f24e51b287bac5ebb3bd8/gitlab_sync-0.2.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "658c4a857c25b6a4cf7c254d379f5a51", "sha256": "74b3910461d7b1275ad276cceb2048990620839f2e7641673ee6f596370ac8e6" }, "downloads": -1, "filename": "gitlab-sync-0.2.5.tar.gz", "has_sig": true, "md5_digest": "658c4a857c25b6a4cf7c254d379f5a51", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 13667, "upload_time": "2018-12-09T22:00:59", "url": "https://files.pythonhosted.org/packages/ca/d4/51f02235e477fc8b8dc0f6872d6ace070123795bd100b5668d86d7b999db/gitlab-sync-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "2839ab3ce8f9e172da9f00d8560ec9a6", "sha256": "984dca14323a602ec92e19c23100016f4200781ab915c0b4eceea8ffed4ce215" }, "downloads": -1, "filename": "gitlab_sync-0.2.6-py3-none-any.whl", "has_sig": true, "md5_digest": "2839ab3ce8f9e172da9f00d8560ec9a6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 9963, "upload_time": "2018-12-12T23:50:54", "url": "https://files.pythonhosted.org/packages/ff/38/ba29145aa5ceced1e719b2e69ff591fa35b27fe5d4e13d62d06bca493029/gitlab_sync-0.2.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "df18e5fad02c76855698704b6a27f718", "sha256": "e7068c152e075f7f7bc7c2707f9d82e8081485ef267252b4da65a24ef747e2cd" }, "downloads": -1, "filename": "gitlab-sync-0.2.6.tar.gz", "has_sig": true, "md5_digest": "df18e5fad02c76855698704b6a27f718", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 13691, "upload_time": "2018-12-12T23:50:56", "url": "https://files.pythonhosted.org/packages/08/d8/eef808570d5b85b171a9dab5eb543a8be0a9c22483cd3cfc55795552b60f/gitlab-sync-0.2.6.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "fadefb2c927305620554c6e768d03d58", "sha256": "03d4014c90e1dab8485b991981132c84c90b603c531f1fdff569151bded79349" }, "downloads": -1, "filename": "gitlab_sync-0.2.7-py3-none-any.whl", "has_sig": false, "md5_digest": "fadefb2c927305620554c6e768d03d58", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 9962, "upload_time": "2019-01-03T15:02:19", "url": "https://files.pythonhosted.org/packages/ec/95/e8813a237f1783a0166fae066536ff54e496e8bc4adbb92a19cd776c8d7f/gitlab_sync-0.2.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "57c9abc573d80b4cb1971733ca0f11dd", "sha256": "e9bf5f965edff356ca46f3079dc8658a6cb726ba50f2d35b813661c5e1bcdc8e" }, "downloads": -1, "filename": "gitlab-sync-0.2.7.tar.gz", "has_sig": false, "md5_digest": "57c9abc573d80b4cb1971733ca0f11dd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 13696, "upload_time": "2019-01-03T15:02:21", "url": "https://files.pythonhosted.org/packages/0e/1a/23f1f713d2761cd99b15d2de5169c77eeea337ab2d99bcf142dd92cbe190/gitlab-sync-0.2.7.tar.gz" } ], "0.2.8": [ { "comment_text": "", "digests": { "md5": "da4f9e6918cd52250f9aed6df1e22b91", "sha256": "7b275f5b65ebf14a5b36793398a248a284077f011252d340b7a1f12926a248c2" }, "downloads": -1, "filename": "gitlab_sync-0.2.8-py2-none-any.whl", "has_sig": false, "md5_digest": "da4f9e6918cd52250f9aed6df1e22b91", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=3.6", "size": 9954, "upload_time": "2019-04-07T12:30:24", "url": "https://files.pythonhosted.org/packages/16/ba/4df17baf0127fd6d92b8b86f2a37e67685281ef0f005a01bce6c55761c88/gitlab_sync-0.2.8-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7fb01f24c9a4ac14785fc76c9955d4d8", "sha256": "cfa04315b983b37b7bbf0e2a61b37d3fac6d269c6140180cc9fc74d234b3246d" }, "downloads": -1, "filename": "gitlab-sync-0.2.8.tar.gz", "has_sig": false, "md5_digest": "7fb01f24c9a4ac14785fc76c9955d4d8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 13673, "upload_time": "2019-04-07T12:30:25", "url": "https://files.pythonhosted.org/packages/34/57/d781158cb81d0bbbc08fb8e823d5431cbe5c51a6557a7c4d4d8a8cb14265/gitlab-sync-0.2.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "da4f9e6918cd52250f9aed6df1e22b91", "sha256": "7b275f5b65ebf14a5b36793398a248a284077f011252d340b7a1f12926a248c2" }, "downloads": -1, "filename": "gitlab_sync-0.2.8-py2-none-any.whl", "has_sig": false, "md5_digest": "da4f9e6918cd52250f9aed6df1e22b91", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=3.6", "size": 9954, "upload_time": "2019-04-07T12:30:24", "url": "https://files.pythonhosted.org/packages/16/ba/4df17baf0127fd6d92b8b86f2a37e67685281ef0f005a01bce6c55761c88/gitlab_sync-0.2.8-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7fb01f24c9a4ac14785fc76c9955d4d8", "sha256": "cfa04315b983b37b7bbf0e2a61b37d3fac6d269c6140180cc9fc74d234b3246d" }, "downloads": -1, "filename": "gitlab-sync-0.2.8.tar.gz", "has_sig": false, "md5_digest": "7fb01f24c9a4ac14785fc76c9955d4d8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 13673, "upload_time": "2019-04-07T12:30:25", "url": "https://files.pythonhosted.org/packages/34/57/d781158cb81d0bbbc08fb8e823d5431cbe5c51a6557a7c4d4d8a8cb14265/gitlab-sync-0.2.8.tar.gz" } ] }