{ "info": { "author": "Mike Purvis", "author_email": "mpurvis@clearpath.ai", "bugtrack_url": null, "classifiers": [], "description": "# forkyeah\n\nThe purpose of this project is to facilitate the management of forks of upstream\nrepositories, where the fork is basically a tag or hash from upstream with a\none or more patches applied to it. These patches may be stored locally, or\nfetched over the network for example using the diff link which GitHub supplies\nfor each PR, or from a gist.\n\nThe configuration file is `fork.yaml` and looks like the following:\n\n```\nupstream:\n repo: https://github.com/ros-controls/ros_control.git\n ref: 0.13.0\n\nfork:\n repo: git@gitlab.yourcompany.com:forks/ros_control.git\n branch: fork-latest\n tag: fork-%Y%m%d-%H%M%S\n apply:\n - patch: https://github.com/ros-controls/ros_control/pull/301.diff\n name: \"Upstream PR 301: CompositeController template.\"\n - patch: https://github.com/ros-controls/ros_control/commit/a65fb8cc.diff\n name: \"Revert a65fb8cc to resolve merge conflicts.\"\n reverse: True\n - patch: https://github.com/ros-controls/ros_control/pull/302.diff\n name: \"Upstream PR 302: Variadic Controller template.\"\n - patch: http://gitlab.clearpathrobotics.com/snippets/72/raw\n name: \"Un-deprecate MultiInterfaceController.\"\n```\n\nThe intention is that this `fork.yaml` config file is stored in an orphan branch\nof the fork repo, and that that orphan branch is the default, so that when you\nwant to update it you simply make and commit changes (add, remove, reorder patches,\nor change the version used as the starting point) and then rerun:\n\n```\nforkyeah\n```\n\nThe tool will handle checking out the given baseline, switching to the fork-latest\nbranch, applying the patches, creating a new tag according to the template, and\npushing everything to the defined fork repo.\n'\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": "Apache 2.0", "maintainer": "", "maintainer_email": "", "name": "forkyeah", "package_url": "https://pypi.org/project/forkyeah/", "platform": "", "project_url": "https://pypi.org/project/forkyeah/", "project_urls": null, "release_url": "https://pypi.org/project/forkyeah/0.0.2/", "requires_dist": [ "requests", "setuptools", "empy", "PyYAML" ], "requires_python": "", "summary": "forkyeah is a small tool for managing patches on an upstream git repo.", "version": "0.0.2" }, "last_serial": 4034476, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "db48dbcc96d0266b71a9d6ca87adb82a", "sha256": "68d0aa8d17ae1fc9537b753dbb73129ba77ea42b0e3e8336ee90a79b470181ef" }, "downloads": -1, "filename": "forkyeah-0.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "db48dbcc96d0266b71a9d6ca87adb82a", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 3644, "upload_time": "2018-07-05T20:23:13", "url": "https://files.pythonhosted.org/packages/e8/3f/0d8456eea1770447a21a58304c9fa95ffba7e06dfb4267b14dfd974a3278/forkyeah-0.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4d576ba78a633f219a03d3ad127daad5", "sha256": "8811e1859046392e55e035a9706fed03c57da47681cecd39bf1aafb4dbf543a7" }, "downloads": -1, "filename": "forkyeah-0.0.1.tar.gz", "has_sig": false, "md5_digest": "4d576ba78a633f219a03d3ad127daad5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2457, "upload_time": "2018-07-05T20:23:15", "url": "https://files.pythonhosted.org/packages/64/e4/dc45f995311d402ea079ec263acaf86a5d64381b612103f61b3d9c9b8d95/forkyeah-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "f781509bcc962bd2b4c03c1ca0e2c205", "sha256": "4431cdfc06718be6273a680e59482b5676110bb5d5b0763af71386e1185cda15" }, "downloads": -1, "filename": "forkyeah-0.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "f781509bcc962bd2b4c03c1ca0e2c205", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4483, "upload_time": "2018-07-05T20:56:53", "url": "https://files.pythonhosted.org/packages/c1/20/1cf0689d08f7b6dc687709c76e0e97c8ccf0d6c4010f44c05bb2de777016/forkyeah-0.0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "303b04ec51ec63e20e938911c611f482", "sha256": "092f483040f84f6e3f104898a1ed013e90787957b8e0c8547402642bd6479518" }, "downloads": -1, "filename": "forkyeah-0.0.2.tar.gz", "has_sig": false, "md5_digest": "303b04ec51ec63e20e938911c611f482", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3486, "upload_time": "2018-07-05T20:56:54", "url": "https://files.pythonhosted.org/packages/e5/69/774d1b91f46d0a5bd712ace30025f02495319f2dc8db2bfc906f22ea834f/forkyeah-0.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f781509bcc962bd2b4c03c1ca0e2c205", "sha256": "4431cdfc06718be6273a680e59482b5676110bb5d5b0763af71386e1185cda15" }, "downloads": -1, "filename": "forkyeah-0.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "f781509bcc962bd2b4c03c1ca0e2c205", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 4483, "upload_time": "2018-07-05T20:56:53", "url": "https://files.pythonhosted.org/packages/c1/20/1cf0689d08f7b6dc687709c76e0e97c8ccf0d6c4010f44c05bb2de777016/forkyeah-0.0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "303b04ec51ec63e20e938911c611f482", "sha256": "092f483040f84f6e3f104898a1ed013e90787957b8e0c8547402642bd6479518" }, "downloads": -1, "filename": "forkyeah-0.0.2.tar.gz", "has_sig": false, "md5_digest": "303b04ec51ec63e20e938911c611f482", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3486, "upload_time": "2018-07-05T20:56:54", "url": "https://files.pythonhosted.org/packages/e5/69/774d1b91f46d0a5bd712ace30025f02495319f2dc8db2bfc906f22ea834f/forkyeah-0.0.2.tar.gz" } ] }