{ "info": { "author": "Devin Alvaro", "author_email": "devin.alvaro@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: MacOS", "Operating System :: POSIX", "Programming Language :: Python :: 3", "Topic :: Software Development :: Version Control :: Git" ], "description": "# reposync\n\nreposync helps you manage a lot of git repositories. By declaring the repositories in a YAML file, reposync can then apply various git commands (limited to `clone` and `pull` for now) to the repositories in appropriate manners.\n\n## Installation\n\n`$ pip install reposync`\n\n## Usage\n\nDeclare repositories in `repositories.yaml` like so:\n\n```\nProjects:\n Past:\n alpha: github.com/yourusername/alpha\n Current:\n beta: github.com/yourusername/beta\n omega: github.com/yourusername/omega\n\nDotfiles: github.com/yourusername/dotfiles\n\nOthers:\n TensorFlow: github.com/tensorflow/tensorflow\n Helm: [go, github.com/helm/helm]\n```\n\nThen run `$ reposync clone` to clone the repositories, resulting in the directory structure below:\n\n```\n.\n\u251c\u2500\u2500 Projects\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 Past\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 alpha\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 Current\n\u2502\u00a0\u00a0 \u00a0\u00a0 \u2514\u2500\u2500 beta\n\u2502\u00a0\u00a0 \u00a0\u00a0 \u2514\u2500\u2500 omega\n\u251c\u2500\u2500 Dotfiles\n\u2514\u2500\u2500 Others\n \u00a0\u00a0 \u251c\u2500\u2500 TensorFlow\n \u00a0\u00a0 \u2514\u2500\u2500 Helm\n```\n\nTo update these repositories, use `$ reposync pull`.\n\nYou can specify the YAML file with `--file .yaml`. For the full options, see `$ reposync -- --help`.\n\n### Go Support\n\nIn Go, it is preferred to put repositories at GOPATH. reposync supports this by cloning the Go repositories to their proper path in GOPATH (simulating `go get`), then creates symbolic links to the repositories at the path specified.\n\nTo specify a Go repository, you need to put a special list. In the example above, `Helm` is a Go repository and its value is `[go, github.com/helm/helm]`. The first element indicates Go repository, the second is the import path, and the last is the binary location (optional, defaults to the import path).\n\nInternally, reposync will first run `git clone https://github.com/helm/helm $GOPATH/src/github.com/helm/helm` then `ln -s $GOPATH/src/github.com/helm/helm Others/Helm`.\n\n### SSH Support\n\nReposync supports cloning repositories using ssh, just pass `--method=ssh` (which defaults to `--method=https`). This argument will make reposync automatically use repository URLs' (found in `repositories.yaml`) corresponding ssh URLs.\n\n### Concurrency Support\n\nReposync supports executing commands concurrently via multithreading by passing `--concurrent`.\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": "https://github.com/devinalvaro/reposync", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "reposync", "package_url": "https://pypi.org/project/reposync/", "platform": "", "project_url": "https://pypi.org/project/reposync/", "project_urls": { "Documentation": "https://github.com/devinalvaro/reposync", "Homepage": "https://github.com/devinalvaro/reposync", "Source": "https://github.com/devinalvaro/reposync", "Tracker": "https://github.com/devinalvaro/reposync/issues" }, "release_url": "https://pypi.org/project/reposync/0.5.2/", "requires_dist": [ "fire", "gitpython", "pyaml" ], "requires_python": ">=3", "summary": "reposync helps you manage a lot of git repositories.", "version": "0.5.2" }, "last_serial": 5967077, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "9b1af2fc5860e4fac88e67c4d2a4bafa", "sha256": "720185330f8423edd3d7293b1cb3ceb05f0fdd94fc2e91cc7416ac88dcd7452d" }, "downloads": -1, "filename": "reposync-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "9b1af2fc5860e4fac88e67c4d2a4bafa", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 5382, "upload_time": "2018-12-15T18:24:52", "url": "https://files.pythonhosted.org/packages/af/86/90e62339d4ada0db553204bd6874e5d161f62c72c6662ff218981cfcd60d/reposync-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e86c54988622369390b2ce7d569b79c0", "sha256": "45e2b7d8b4ffce8ba618d0c9823b528be15df63f5426eb7c1b8908f5653fa9cd" }, "downloads": -1, "filename": "reposync-0.1.0.tar.gz", "has_sig": false, "md5_digest": "e86c54988622369390b2ce7d569b79c0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 3595, "upload_time": "2018-12-15T18:24:55", "url": "https://files.pythonhosted.org/packages/22/3a/ce031435acedd5bd58a21888a23236506abbe19055b4e821470226538ff1/reposync-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "34d3661d7f864257f4b839cdab091ccf", "sha256": "76100e22df13912c2a1f3cd4c1418e91fa762e4c1d74b8c2e83d1e78726fe9ca" }, "downloads": -1, "filename": "reposync-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "34d3661d7f864257f4b839cdab091ccf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 5381, "upload_time": "2018-12-17T10:36:20", "url": "https://files.pythonhosted.org/packages/39/5e/51c059aa4e05add4497166f13cd3dd3c764d2ec3bfe759b525701bba07a2/reposync-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "570301de0a2d6633c49ac75be403c3d4", "sha256": "4a91e7abe23883ff76e6fe67fdf561fe961de9b2ae3568cde9780cd24e69fc45" }, "downloads": -1, "filename": "reposync-0.1.1.tar.gz", "has_sig": false, "md5_digest": "570301de0a2d6633c49ac75be403c3d4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 3594, "upload_time": "2018-12-17T10:36:22", "url": "https://files.pythonhosted.org/packages/77/c1/7b22435c72d4e433478d60043a4a807f1047295e4f1fcdc4ba135659c5da/reposync-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "c793bed21b63fdd2a035c8f75ddf2b8d", "sha256": "7d293d9457f28b62047b13c256e96fc9ec9c8254b69d5510dec4fa6e4f3b5356" }, "downloads": -1, "filename": "reposync-0.1.2-py2-none-any.whl", "has_sig": false, "md5_digest": "c793bed21b63fdd2a035c8f75ddf2b8d", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=3", "size": 6288, "upload_time": "2018-12-17T10:39:47", "url": "https://files.pythonhosted.org/packages/f0/24/2d6eb792b45cd94b08afc5399c35c5919eaaad49b03ec335f01a7f542ea3/reposync-0.1.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2f1da704effd5e877385deca51358f71", "sha256": "1cff2664bf92dadf8ff6c20d1a9e9c787a109f6036363a66a70fdbb869ddee51" }, "downloads": -1, "filename": "reposync-0.1.2.tar.gz", "has_sig": false, "md5_digest": "2f1da704effd5e877385deca51358f71", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 3566, "upload_time": "2018-12-17T10:39:49", "url": "https://files.pythonhosted.org/packages/01/53/963480bd8585f44b7aaedc77c4a8352f8c30d5a2764f7f28dae8b9b8a246/reposync-0.1.2.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "c8b56d7188dff5c1cc73616a7ad7d85c", "sha256": "dbe84a80bfff2e1105e44d82820980a829f9611c025fdc3c89e9c405c05790af" }, "downloads": -1, "filename": "reposync-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "c8b56d7188dff5c1cc73616a7ad7d85c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 5432, "upload_time": "2018-12-18T13:54:49", "url": "https://files.pythonhosted.org/packages/19/0b/25b83d5ab8fc1e93977cf7a0bc3e101f507249d6138a63345ea11e9a611b/reposync-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "543950c7a6f181f80c90d8f0075ca3d1", "sha256": "4ec56170e940ca3b5afe9b4381462d5a154ac567d4d08d8b6d4e9781b9d9d8e8" }, "downloads": -1, "filename": "reposync-0.2.0.tar.gz", "has_sig": false, "md5_digest": "543950c7a6f181f80c90d8f0075ca3d1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 3604, "upload_time": "2018-12-18T13:54:51", "url": "https://files.pythonhosted.org/packages/65/ee/7a8506089f916f683b7a85f747946443bc8bd7de68a6995105a5536b32f2/reposync-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "d2c9e18bf6e80fcebf4ccc97d659a9f2", "sha256": "3da97ab0e613fa78c6a7db4ce70af477bc3367c5318b2ece3d813a7bc1754740" }, "downloads": -1, "filename": "reposync-0.2.1-py2-none-any.whl", "has_sig": false, "md5_digest": "d2c9e18bf6e80fcebf4ccc97d659a9f2", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=3", "size": 6361, "upload_time": "2018-12-18T14:14:17", "url": "https://files.pythonhosted.org/packages/f4/63/6e361facc30db252dc862596a733899cf854783f174bf35cf0d5eae12e56/reposync-0.2.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1b4944b83e8b8f2d07d1b0e4a41170f3", "sha256": "4bbc8f2730a286a9d2a85445cb278987cc0ac87d1a8d8f834aa613cf794d0289" }, "downloads": -1, "filename": "reposync-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "1b4944b83e8b8f2d07d1b0e4a41170f3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 5511, "upload_time": "2018-12-18T14:14:19", "url": "https://files.pythonhosted.org/packages/11/67/1efb6d78ed5c035313129fa7cfbe15f2b17e8ee5aa77979281cdd9abc1ae/reposync-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9e9d4b53f7cb2cf4b578c319e11d6e0c", "sha256": "25d51ca7d643bc357212913d24d1d8461dc2f46c61ed9e36c5216a057532e3a6" }, "downloads": -1, "filename": "reposync-0.2.1.tar.gz", "has_sig": false, "md5_digest": "9e9d4b53f7cb2cf4b578c319e11d6e0c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 3689, "upload_time": "2018-12-18T14:14:22", "url": "https://files.pythonhosted.org/packages/7c/00/fde1557bec0726af4eb17a699de26d9ed21379a421d373f5b97eee0a5a0b/reposync-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "1ebcaa264cb92b8000f2ee7510376cfa", "sha256": "66d2cdb393773f26ea201d8e4426f113ead9a43857f782105625dc0036703e52" }, "downloads": -1, "filename": "reposync-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "1ebcaa264cb92b8000f2ee7510376cfa", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 5644, "upload_time": "2019-02-20T06:43:57", "url": "https://files.pythonhosted.org/packages/96/e0/98bac35be3a570334f082da8a878aa65b4f34821891449e2697b13ad599a/reposync-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f509d18e132dd4b1433cdef97f3e5849", "sha256": "eadbbbd4a24cffd83d8ff331c67f3eebe6674df08a3d081caaa288a090636c9c" }, "downloads": -1, "filename": "reposync-0.3.0.tar.gz", "has_sig": false, "md5_digest": "f509d18e132dd4b1433cdef97f3e5849", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 3867, "upload_time": "2019-02-20T06:43:59", "url": "https://files.pythonhosted.org/packages/0e/f7/25dccb382acb3bda6f761b4f4db9566c1f246fe6013cf4021268f44e993f/reposync-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "5e34dbb7deec84e05231abe23bd9ec35", "sha256": "4e1f46761339757b4ce2d12587dde7cc0e194d7e1577a34a2e4a7078114954fc" }, "downloads": -1, "filename": "reposync-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "5e34dbb7deec84e05231abe23bd9ec35", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 5835, "upload_time": "2019-03-14T17:12:37", "url": "https://files.pythonhosted.org/packages/f7/5f/f00980088c50a3c59f63095de5152c1d98f4a0417204999c823d53337a03/reposync-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a00c2cf6cea48cb778fc76193b7ba967", "sha256": "4cc7b9c53199d6a6033a389ecc11bff6f01804ed3a2b783c7934e614e33ed2a9" }, "downloads": -1, "filename": "reposync-0.4.0.tar.gz", "has_sig": false, "md5_digest": "a00c2cf6cea48cb778fc76193b7ba967", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 4073, "upload_time": "2019-03-14T17:12:39", "url": "https://files.pythonhosted.org/packages/2d/b5/c60e065d187870f477f31ff045c4a7dc3d2e5a750c41d6cd8371fd065878/reposync-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "4336efebb4024b4fcb647b4bca4d12d1", "sha256": "877490c27169db9e26ca37c6a89f9b89f9f1ea30c06afd4288bd66c2832f05ef" }, "downloads": -1, "filename": "reposync-0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "4336efebb4024b4fcb647b4bca4d12d1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 6966, "upload_time": "2019-03-14T17:25:53", "url": "https://files.pythonhosted.org/packages/71/a0/ce47d3aef8a645b93806e2b6214ab208f75ff5145943215f7016ee52c603/reposync-0.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "964598f296f027992ae75f2ebe7d4b6a", "sha256": "1af355cc8cf7de400c6b620055ea8ac52ca5a62a9b0277ab58b6995ce92f5eff" }, "downloads": -1, "filename": "reposync-0.4.1.tar.gz", "has_sig": false, "md5_digest": "964598f296f027992ae75f2ebe7d4b6a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 4124, "upload_time": "2019-03-14T17:25:55", "url": "https://files.pythonhosted.org/packages/15/22/c63a8b25f7815ee1426843562735217c60fb562417c183f97c06eb2bcce4/reposync-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "10dbd13e2be02ecbb8ddfb2603aeb0ba", "sha256": "971d05544933e99412a1d7137a5fe1bf4ae6d126931460d11a0f19b5cd7c7a9d" }, "downloads": -1, "filename": "reposync-0.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "10dbd13e2be02ecbb8ddfb2603aeb0ba", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 5894, "upload_time": "2019-03-14T17:39:47", "url": "https://files.pythonhosted.org/packages/7b/44/f8d5c92583ceee22e6520bec79f00e948772ebcb36a707b8826a60677004/reposync-0.4.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1c098b3618f7ad520227964e38f614df", "sha256": "46f830a6f7725700011efe73b07eafef656aaafb5b0d47dc57d561169d60706f" }, "downloads": -1, "filename": "reposync-0.4.2.tar.gz", "has_sig": false, "md5_digest": "1c098b3618f7ad520227964e38f614df", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 4136, "upload_time": "2019-03-14T17:39:48", "url": "https://files.pythonhosted.org/packages/d1/3a/1abdf1f08d7b4173deb86c7d3b8babd05a1e7a31929ae9842475488e44df/reposync-0.4.2.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "30145e67730f7bbeae052e5733056bd8", "sha256": "fdac7dfeaf1cface2804708dbdd62d3fa14ddd29d08f7db58b7ca04aa02afc2f" }, "downloads": -1, "filename": "reposync-0.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "30145e67730f7bbeae052e5733056bd8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 6118, "upload_time": "2019-03-25T07:39:53", "url": "https://files.pythonhosted.org/packages/a1/17/da035794751b6d6b4ab385d63b22893e3aa408488203538f22e12149340d/reposync-0.5.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0e0b04157cfbbd2df59a8fbd40c8814d", "sha256": "d20c8a438124ef785ce98ad36f3318aae703ff99cde3688cc4e4b2fabe546b78" }, "downloads": -1, "filename": "reposync-0.5.0.tar.gz", "has_sig": false, "md5_digest": "0e0b04157cfbbd2df59a8fbd40c8814d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 4139, "upload_time": "2019-03-25T07:39:55", "url": "https://files.pythonhosted.org/packages/03/b8/ae41f22963a6279585c4d5365578e5aaf0e4e6b8ef58acb9e314ffcd685b/reposync-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "4a4e42f9ab8c197cb3bd483b728947c5", "sha256": "4be133ec04971b29cdc33714057c646b1ac625fcc30a087f551b1395e2e9c65a" }, "downloads": -1, "filename": "reposync-0.5.1-py3-none-any.whl", "has_sig": false, "md5_digest": "4a4e42f9ab8c197cb3bd483b728947c5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 6120, "upload_time": "2019-06-15T14:44:02", "url": "https://files.pythonhosted.org/packages/bb/9d/dace669651ae5eb34afc0c716cd449fb34d2e5cc3c5029d5611a343aedf9/reposync-0.5.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5cf9f28dd9c5938e12259bec9c44e6ef", "sha256": "d4cafd9ea38691563ca581f8c930d8b8a6fc2d4e401aded3152c30e38dbdd70f" }, "downloads": -1, "filename": "reposync-0.5.1.tar.gz", "has_sig": false, "md5_digest": "5cf9f28dd9c5938e12259bec9c44e6ef", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 4099, "upload_time": "2019-06-15T14:44:04", "url": "https://files.pythonhosted.org/packages/92/bd/250da0ed476054b44e337ead21a45ed65c78b759ad802ea97fda59da7b2e/reposync-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "7262ccb852c1dbcde835c02bf88c1b70", "sha256": "6ba1e8514186fffc02dc43874236e84e96e237ccfd9a135515ae8c36a864a04b" }, "downloads": -1, "filename": "reposync-0.5.2-py3-none-any.whl", "has_sig": false, "md5_digest": "7262ccb852c1dbcde835c02bf88c1b70", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 6121, "upload_time": "2019-10-13T10:48:47", "url": "https://files.pythonhosted.org/packages/77/c2/1317be7d0429a83af501e2e7a87f6f422458b785e113687d0d8faa07b72e/reposync-0.5.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5b124c21fc351a855ed880bed4a7c96e", "sha256": "3338b3dd69e93efeb10ef07f8ad5754cbd16b88c5979bf1e3c91abf1d8f0f7b5" }, "downloads": -1, "filename": "reposync-0.5.2.tar.gz", "has_sig": false, "md5_digest": "5b124c21fc351a855ed880bed4a7c96e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 4093, "upload_time": "2019-10-13T10:48:49", "url": "https://files.pythonhosted.org/packages/12/40/abbda55b93b5101c963f3d7e33e0d67ea31e078d6892ad5016ff42851f19/reposync-0.5.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7262ccb852c1dbcde835c02bf88c1b70", "sha256": "6ba1e8514186fffc02dc43874236e84e96e237ccfd9a135515ae8c36a864a04b" }, "downloads": -1, "filename": "reposync-0.5.2-py3-none-any.whl", "has_sig": false, "md5_digest": "7262ccb852c1dbcde835c02bf88c1b70", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 6121, "upload_time": "2019-10-13T10:48:47", "url": "https://files.pythonhosted.org/packages/77/c2/1317be7d0429a83af501e2e7a87f6f422458b785e113687d0d8faa07b72e/reposync-0.5.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5b124c21fc351a855ed880bed4a7c96e", "sha256": "3338b3dd69e93efeb10ef07f8ad5754cbd16b88c5979bf1e3c91abf1d8f0f7b5" }, "downloads": -1, "filename": "reposync-0.5.2.tar.gz", "has_sig": false, "md5_digest": "5b124c21fc351a855ed880bed4a7c96e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 4093, "upload_time": "2019-10-13T10:48:49", "url": "https://files.pythonhosted.org/packages/12/40/abbda55b93b5101c963f3d7e33e0d67ea31e078d6892ad5016ff42851f19/reposync-0.5.2.tar.gz" } ] }