{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [], "description": "# Dolly\n\n[![Build Status](https://travis-ci.org/xp-forge/dolly.svg?branch=master)](https://travis-ci.org/xp-forge/dolly)\n\n```\n\n _ ,--. | |\n _-(_)- | |,---.| | , .\n`(___) | || || | | |\n // \\\\ `--' `---'`---'`---'`---|\n `---'\n```\n\nDolly manages multiple Git and SVN repos.\n\n## Usage\n```\ndolly [-h] [-v] [-r ROOTDIR] [-c CONFIG] command [project]\n```\n\nDolly can be run in the command line with `dolly` or `dly`.\n\nIt takes a command argument and an optional project argument.\nValid commands are:\n\n* `help` to print the help menu\n* `list` to list the repositories of the specified project (and all included projects)\n* `status` to get uncommitted changes and unpushed commits\n* `update` to pull and clone\n* `install` to clone repositories that aren't yet on disk\n* `list-dirs` to print all local repo paths (useful in scripts)\n\nThe action will run for every repository in the specified projects tree and all included projects.\n\nIf no project parameter is given Dolly will look for a `default` project.\n\n\n## Configuration\n\nThe config file can be specified with the `-c` parameter.\nIf no file is specified it looks in `~/.dolly.yml` and `/etc/dolly/dolly.yml`\n(in that order).\n\n### Example\n```\ngames:\n description: \"HTML5 / JS games\"\n post_update: \"echo $(date) > /tmp/games\"\n tree:\n games/html/js:\n - '2048': https://github.com/gabrielecirulli/2048.git\ndesign-essentials:\n description: \"GitHub featured\"\n tree:\n design/html/js:\n - flint: https://github.com/pengwynn/flint\n - normalize: https://github.com/necolas/normalize.css\nhtml:\n description: \"Stuff\"\n tree:\n design/basic:\n - moderinzr: https://github.com/Modernizr/Modernizr.git\n\ngameshtml:\n description: \"TL;DW\"\n includes:\n - html\n - games\n\ndefault:\n description: \"TL;DW\"\n includes:\n - design-essentials\n - gameshtml\n tree:\n foo/bar:\n - testproj: git@git.1and1.org:lbentrup/automation-tools.git\n bar/foo:\n - clumsybird: https://github.com/ellisonleao/clumsy-bird.git\n```\n\n### Extended repository syntax\nAt the moment, the properties \"tag\" and \"branch\" are only supported by git.\n```\n...\ntree;\n - name: 'modernizer'\n repository: https://github.com/Modernizr/Modernizr.git\n tag: v2.8.1\n post_update: echo done\n - name: 'modernizerback'\n repository: https://github.com/Modernizr/Modernizr.git\n branch: back\n post_update: echo done\n...\n```\n\nIn the example the repo '2048' will be placed in `$ROOT_DIR/games/html/js`.\n\nThe `default` project also includes the `design-essentials` and `html` projects. So when the `default` project is processed, all of the repos in this config file will be processed.\n\nIf a project is included multiple times, it is only processed once.\n\n## Installation\n\nDolly can be installed using pip with\n\n```bash\npip install dolly # Add --upgrade to update dolly\n```\n\nThis will also install the following dependencies:\n* argparse\n* pyyaml\n\nTo install from this git repo:\n\n```\ngit clone https://github.com/xp-forge/dolly.git\ncd dolly\nsudo python setup.py install\n```", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "Dolly", "package_url": "https://pypi.org/project/Dolly/", "platform": "", "project_url": "https://pypi.org/project/Dolly/", "project_urls": null, "release_url": "https://pypi.org/project/Dolly/0.4.0/", "requires_dist": null, "requires_python": "", "summary": "Dolly manages multiple git and svn repos", "version": "0.4.0" }, "last_serial": 2383934, "releases": { "0.0.10": [ { "comment_text": "", "digests": { "md5": "28cc5d0334fd752708e412a9ced10301", "sha256": "bfa4da68658151741e60d289309edc9ca18a12563ab35226331b24b388850835" }, "downloads": -1, "filename": "Dolly-0.0.10.tar.gz", "has_sig": false, "md5_digest": "28cc5d0334fd752708e412a9ced10301", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5801, "upload_time": "2014-08-25T14:44:15", "url": "https://files.pythonhosted.org/packages/a9/57/a539d3a8244249c1fb136b99c8214c74c033f8ef41b22f01b83de8c721b1/Dolly-0.0.10.tar.gz" } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "bac4dfa0a073557f80467cf61d4049cb", "sha256": "247c1b2c1a2bd0b042a19f841ed035bd313d515c861f431380364bb5a14dd924" }, "downloads": -1, "filename": "Dolly-0.0.11.tar.gz", "has_sig": false, "md5_digest": "bac4dfa0a073557f80467cf61d4049cb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5824, "upload_time": "2014-08-25T14:47:46", "url": "https://files.pythonhosted.org/packages/2e/dd/03f4db2ac2522e71730790e82ea052dc18f606398c25ce400be1dae1e97f/Dolly-0.0.11.tar.gz" } ], "0.0.12": [ { "comment_text": "", "digests": { "md5": "6bc5c7b8e3ce3ae5b44959195511062b", "sha256": "3af2a3bedbbce230feca082d9e6047237466c1bec16128a33adef8fa1196a2dd" }, "downloads": -1, "filename": "Dolly-0.0.12.tar.gz", "has_sig": false, "md5_digest": "6bc5c7b8e3ce3ae5b44959195511062b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5818, "upload_time": "2014-08-25T14:53:15", "url": "https://files.pythonhosted.org/packages/bc/6f/b189f152d4339effe57d43b490627c5f744d60b619b92861d68617aa462d/Dolly-0.0.12.tar.gz" } ], "0.0.13": [ { "comment_text": "", "digests": { "md5": "43d84a7a4b26dff8c248873e028d4f51", "sha256": "ddf3ac0922115cc212b432c7c5516a125ca5c9aa9e2c53bc12a729307bca3610" }, "downloads": -1, "filename": "Dolly-0.0.13.tar.gz", "has_sig": false, "md5_digest": "43d84a7a4b26dff8c248873e028d4f51", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6067, "upload_time": "2014-08-25T14:55:36", "url": "https://files.pythonhosted.org/packages/d2/ec/692fc30ae1765f8b1bcc4f790d25490c5e8c55592737fc19c118f6ff32bb/Dolly-0.0.13.tar.gz" } ], "0.0.14": [ { "comment_text": "", "digests": { "md5": "df3e1c7386ea9207b884a74780596236", "sha256": "71a09eeb119f68100fbf5014a443ca05a9f2e0ab5506079ff5af2f4caf9e97fc" }, "downloads": -1, "filename": "Dolly-0.0.14.tar.gz", "has_sig": false, "md5_digest": "df3e1c7386ea9207b884a74780596236", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6121, "upload_time": "2014-09-02T07:37:03", "url": "https://files.pythonhosted.org/packages/58/37/ed74f21d72a3bb204c330d53d988b5cf27bc45a65758f399ba2cc134e70b/Dolly-0.0.14.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "d90eca2e47fa76b39b4be08c768117d1", "sha256": "f5e7b1a8d22da2e0484b74c913dcbda3232c900529300a3b6bf0f9c3ff839458" }, "downloads": -1, "filename": "Dolly-0.0.2.tar.gz", "has_sig": false, "md5_digest": "d90eca2e47fa76b39b4be08c768117d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3911, "upload_time": "2014-08-13T11:24:01", "url": "https://files.pythonhosted.org/packages/97/37/3b77858f73061e1740c39627a1b0c1b0668590a0c0551bb152dc860b9519/Dolly-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "f7dbbfe347e506a209b2b12ea2a5bcab", "sha256": "edf09d13417082e0d67079f25bc51c6749b1109f1d2d2ec7732d95260555ca86" }, "downloads": -1, "filename": "Dolly-0.0.3.tar.gz", "has_sig": false, "md5_digest": "f7dbbfe347e506a209b2b12ea2a5bcab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4024, "upload_time": "2014-08-13T11:55:57", "url": "https://files.pythonhosted.org/packages/ae/33/70af077c9fdd8fd37a97c755be55fa8d0c1dcec27f8d7d533eb0fa15eba9/Dolly-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "9660103e8700d50f3874f6531ac2dae4", "sha256": "0e859ada936008d7e09e6153a5d19635e0fd8db19e7be10b024d2c7b6dc02a2e" }, "downloads": -1, "filename": "Dolly-0.0.4.tar.gz", "has_sig": false, "md5_digest": "9660103e8700d50f3874f6531ac2dae4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4093, "upload_time": "2014-08-13T12:07:57", "url": "https://files.pythonhosted.org/packages/71/01/ada6572a703ad4460e1c2ade26a7e02711d309379b053c0db34c0c03b59d/Dolly-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "14f6f7b9b5ca293d526bd0fbaaec743b", "sha256": "7658a6bd5cf1e81a1947c552b85718dcc45844d293d9d58501f2659fdd4a8a68" }, "downloads": -1, "filename": "Dolly-0.0.5.tar.gz", "has_sig": false, "md5_digest": "14f6f7b9b5ca293d526bd0fbaaec743b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4240, "upload_time": "2014-08-13T13:17:51", "url": "https://files.pythonhosted.org/packages/a8/d6/e78e99e79a2d5ac75f00c284fc148756b15c64d33699d2a4f80345d9800f/Dolly-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "32f01cdc594c5d5b23e5cfa87eb8f6e8", "sha256": "5ce945e4a9b9ef577f3b23939ab32895e0a14c83366cf92b1a17330d6c2756ea" }, "downloads": -1, "filename": "Dolly-0.0.6.tar.gz", "has_sig": false, "md5_digest": "32f01cdc594c5d5b23e5cfa87eb8f6e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4401, "upload_time": "2014-08-14T11:40:02", "url": "https://files.pythonhosted.org/packages/46/a3/cbe184e37b0c61f15857d434e784dda1d4c84d69ef3bcda1afe660fc5d52/Dolly-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "80ae15bb12601aca7852ddc4978ea3bf", "sha256": "94c269b3c1e40f757aaf00aeaf6308d944cc0b6e0f98f7ace2837f6d979cff69" }, "downloads": -1, "filename": "Dolly-0.0.7.tar.gz", "has_sig": false, "md5_digest": "80ae15bb12601aca7852ddc4978ea3bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4401, "upload_time": "2014-08-14T14:07:47", "url": "https://files.pythonhosted.org/packages/51/49/4b980d91a9ae5cf34469ca5720b0985108f1d7bca20a072f4684210bee35/Dolly-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "2eecdb70d841f31be446ab9fd7c4245b", "sha256": "c6970f95d6989836e05ed9ed80448423206217d93b74f3b5603c7329d5a7280b" }, "downloads": -1, "filename": "Dolly-0.0.8.tar.gz", "has_sig": false, "md5_digest": "2eecdb70d841f31be446ab9fd7c4245b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4519, "upload_time": "2014-08-15T09:02:29", "url": "https://files.pythonhosted.org/packages/9a/2a/02de35bc65c141713a2c0d1cfaeb33be3e0401e3b23dd9e294d9be9d3e44/Dolly-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "f1fcd58e5914e2599fcd181d6d208a4c", "sha256": "1adfd44894ae6f310a641e4fdd6ee39809023d60f3cc1af236c4a72156c55431" }, "downloads": -1, "filename": "Dolly-0.0.9.tar.gz", "has_sig": false, "md5_digest": "f1fcd58e5914e2599fcd181d6d208a4c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5791, "upload_time": "2014-08-22T09:48:17", "url": "https://files.pythonhosted.org/packages/a4/d5/261e9d5b0eba69fe325f736788ff2e7b1d216b64be4a1679cea630840075/Dolly-0.0.9.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "825d9c5b7e5f63d20b0f6d82f2486ef6", "sha256": "74bacc1bfb8b70fe329701fd6682b0547524bcf27fb4c2cbf440731d09c01112" }, "downloads": -1, "filename": "Dolly-0.1.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "825d9c5b7e5f63d20b0f6d82f2486ef6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11982, "upload_time": "2014-12-19T09:43:46", "url": "https://files.pythonhosted.org/packages/7c/ae/fe42b734537a624c06aac5f6483b8bdcedde73cc8b419085cae75102f5a3/Dolly-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8d39e96a6e7ac3c090bb7f911df24a16", "sha256": "86e28b210e5efbcef7b9cf3f86fbe16c67d4b64bbb1772e35c135467e905536a" }, "downloads": -1, "filename": "Dolly-0.1.0.tar.gz", "has_sig": true, "md5_digest": "8d39e96a6e7ac3c090bb7f911df24a16", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6458, "upload_time": "2014-12-19T09:42:20", "url": "https://files.pythonhosted.org/packages/27/38/c1248213bb6d44122875c85d4508956a95b15d22c5ea25e16cbca17535fe/Dolly-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "built for Linux-3.2.0-4-amd64-x86_64-with-glibc2.7", "digests": { "md5": "56fbbd21858f984cc79481fcdc07758b", "sha256": "866eb55d5d62905c58e2c92920f4cb81f5c8152d653a370de505a772d74bb9e0" }, "downloads": -1, "filename": "Dolly-0.2.0.linux-x86_64.tar.gz", "has_sig": true, "md5_digest": "56fbbd21858f984cc79481fcdc07758b", "packagetype": "bdist_dumb", "python_version": "any", "requires_python": null, "size": 14306, "upload_time": "2015-08-06T10:46:06", "url": "https://files.pythonhosted.org/packages/7f/27/ea8611f37d24b38540804430f5e0ddfd6c218ee595dc8c8c202889428d6b/Dolly-0.2.0.linux-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "4ad81fdd6d2ce572ba8661ad3f56d93a", "sha256": "8876b10bf37167b7db3c3e11b4a46a4b8f29b8746255f9379da6a42d52885f89" }, "downloads": -1, "filename": "Dolly-0.2.0.tar.gz", "has_sig": true, "md5_digest": "4ad81fdd6d2ce572ba8661ad3f56d93a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6870, "upload_time": "2015-08-06T10:45:52", "url": "https://files.pythonhosted.org/packages/de/44/fc392f9caa5b92e138873694cfb825ed989c6bb10f7976c871df58391be3/Dolly-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "built for Linux-3.2.0-4-amd64-x86_64-with-glibc2.7", "digests": { "md5": "d0908c01b698a46d70aa962cfaac9ea9", "sha256": "236c9e140b6c9abbb5c4aae16bda759c5973452274bb4e36a75eaf5d8958b180" }, "downloads": -1, "filename": "Dolly-0.3.0.linux-x86_64.tar.gz", "has_sig": true, "md5_digest": "d0908c01b698a46d70aa962cfaac9ea9", "packagetype": "bdist_dumb", "python_version": "any", "requires_python": null, "size": 16229, "upload_time": "2015-10-30T11:54:00", "url": "https://files.pythonhosted.org/packages/3e/87/408ae1d1a8c8bcf173cef497dad231b9e5bd3b20d3b45b7ef906ae8ff2eb/Dolly-0.3.0.linux-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "09b7565631ea0afb67d5a0b23eb0baa0", "sha256": "94a7484684c33c40490342fa39d917bbbc6e9c76162fa35cec88779b5953bff4" }, "downloads": -1, "filename": "Dolly-0.3.0.tar.gz", "has_sig": true, "md5_digest": "09b7565631ea0afb67d5a0b23eb0baa0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7578, "upload_time": "2015-10-30T11:53:51", "url": "https://files.pythonhosted.org/packages/99/e5/c96b36c88a3fc3b47b6602889637dd9d33f10a6b9d11adcac5217009b115/Dolly-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "6aa5e993c1a43d0918cb3a12e9796e8e", "sha256": "66331aeba9715c21f767e7764d635c7763d904aadaf6f0eaf66c2ca0c7f1953d" }, "downloads": -1, "filename": "Dolly-0.4.0.tar.gz", "has_sig": false, "md5_digest": "6aa5e993c1a43d0918cb3a12e9796e8e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8481, "upload_time": "2016-10-06T10:35:46", "url": "https://files.pythonhosted.org/packages/7f/77/a7644d796895f96f9125ba246bdb3600b9d8eff424085fdc9f22860d0125/Dolly-0.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6aa5e993c1a43d0918cb3a12e9796e8e", "sha256": "66331aeba9715c21f767e7764d635c7763d904aadaf6f0eaf66c2ca0c7f1953d" }, "downloads": -1, "filename": "Dolly-0.4.0.tar.gz", "has_sig": false, "md5_digest": "6aa5e993c1a43d0918cb3a12e9796e8e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8481, "upload_time": "2016-10-06T10:35:46", "url": "https://files.pythonhosted.org/packages/7f/77/a7644d796895f96f9125ba246bdb3600b9d8eff424085fdc9f22860d0125/Dolly-0.4.0.tar.gz" } ] }