{ "info": { "author": "Haak Saxberg", "author_email": "UNKNOWN", "bugtrack_url": null, "classifiers": [], "description": "flowhub\n=======\n\n.. image:: https://travis-ci.org/haaksmash/flowhub.svg?branch=master\n :target: https://travis-ci.org/haaksmash/flowhub\n\nFlowhub translates the workflow implemented by the excellent\n`git-flow `_ Git add-on to GitHub.\n\nScott Chacon (of GitHub fame) points out that sometimes ``git-flow`` isn't the\nbest workflow for an agile team. Flowhub is cool with that, too - setting the\noptions one way gives you a translation of ``git-flow``, and setting them\na slightly different way gives you a translation of\n`GitHub Flow `_.\n\nYou can also get a hybrid of the two, if that floats your boat.\n\nOutside of a Git repository, Flowhub is super-confused and refuses to work. As\nfar as I know, Flowhub does not integrate with any other Git clients. If it does,\nthat's a happy accident: Flowhub is designed as a command-line tool.\n\nHow do I get Flowhub?\n---------------------------------\n\nGreat question! The easiest way is probably using the overworked and\nunder-appcreciated `pip `_, which\nis a very friendly way to install python packages in general.\n\nOnce you have pip on your system, simply run ``pip install flowhub``, and that\nshould be that. If you prefer the bleeding edge of Flowhub development, you can\nget that too: simply clone this repository, checkout the ``develop``\nbranch, and run ``setup.py install`` (be ye warned, however: ``develop`` is not\nguaranteed to be stable). There are very few dependencies -- check out the setup\nscript to see what they are.\n\nAfter installing,\nyou'll have access to the ``flowhub`` command:\n\n::\n\n flowhub init\n # blah blah\n flowhub feature start \n\n\nSee ``flowhub -h`` and its descendants for more information.\n\nFlowhub definitely works on OSX and probably works on Linux (last I checked, it\nworks on Ubuntu), and might or might not work on Windows (a new frontier!).\n\nFlowhub now also supports tab-completion in bash and (partially...) in zsh! See\nthe `argcomplete docs `_\nfor more info about how to enable this sweetness for yourself! zsh users: zsh is totally\ncapable of handling bash completion scripts, but it's gonna take a little more effort to\nmake it work.\n\n\nWhat Can Flowhub Do?\n--------------------\n\nFlowhub keeps groups working in an orderly fashion, with minimal intrusion.\n\nFor Developers\n~~~~~~~~~~~~~~\n\nLet's examine a common use-case: you've forked another repository on GitHub\n(totally coincidentally, this happens to be the case that Flowhub was written\nfor - though it doesn't require this set up).\n\ninit\n++++\n\nSuzy has forked a fellow developer's repository, and already has a clone of it\non her development box. She wants to keep her contributions orderly, and\n(luckily!) the original repository adheres to a single-stable/single-dev branching\nphilosophy already (Flowhub doesn't require this, but it makes things easier).\n\nSuzy decides to use Flowhub (she's got a bright future).\n\n::\n\n cd /path/to/my/clone\n flowhub init\n\nAfter answering all of Flowhub's questions, Suzy is ready to start working (she\ndecided to keep all of Flowhub's defaults).\n\nfeature start\n+++++++++++++++\n\nShe's already got some ideas about how to improve the project:\n\n::\n\n flowhub feature start suzy-feature-the-first\n Password for 'https://suzyongithub@github.com':\n\n Summary of actions:\n - New branch feature/suzy-feature-the-first, from branch develop\n - Checked out branch feature/suzy-feature-the-first\n\nShe's also come up with a solution to an existing issue:\n\n::\n\n flowhub feature start -i 13 i-know-the-answer\n Password for 'https://suzyongithub@github.com':\n\n Summary of actions:\n - New branch feature/13-i-know-the-answer, from branch develop\n - Checked out branch feature/13-i-know-the-answer\n\nWhen she's ready to publish, that branch will be tied to issue #13 on ``canon``.\n\nfeature publish\n+++++++++++++++\n\nAfter Suzy's been working for a while, she decides it's time to get some\nfeedback from the original repository. Flowhub makes this a cakewalk.\n\n::\n\n flowhub feature publish # Since Suzy is still on her feature branch, Flowhub assumes that's the one to publish\n\nFlowhub creates a pull-request for her, and reports the url so she can quickly\nnavigate to it.\n\nWhen she's gotten some feedback and addressed it, she runs the same command.\nFlowhub updates the pull-request for her.\n\nfeature abandon/accepted\n++++++++++++++++++++++++\n\nWhen her pull-request has been accepted, Suzy can run\n\n::\n\n flowhub feature accepted\n\n Summary of actions:\n - Latest objects fetched from canon\n - Updated develop\n - Deleted feature/accepted-feature from local repository\n - Deleted feature/accepted-feature from origin\n - Checked out branch develop\n\nfrom her feature branch, and Flowhub will clean things up a bit. She can also\nspecify a feature name, if she's not currently on the accepted branch.\n\nIf Suzy's feature is deemed a non-starter, and summarily rejected, Flowhub is\nthere to comfort her:\n\n::\n\n flowhub feature abandon\n\n Summary of actions:\n - Deleted feature/abandoned-feature from local repository\n - Deleted feature/accepted-feature from origin\n - Checked out branch develop\n\nWhich will remove the feature branch she'd been working on.\n\nThe difference between ``accepted`` and ``abandon`` is that ``accepted`` will\ncomplain if the feature branch hasn't been fully merged into your trunk branch;\n``abandon`` doesn't care.\n\nfeature list\n++++++++++++\n\nAt any time, Suzy can get a list of her current features' names (she's\nbeen so prolific that she's lost track of them all).\n\n::\n\n flowhub feature list\n suzy-feature-the-first\n * suzy-currently-checkedout-feature\n # ...\n suzy-feature-the-millionth\n\nrelease/hotfix contribute\n+++++++++++++++++++++++++\n\nWhen it's time for a release, Flowhub has your back as well. Just branch off the\ntip of the release, and work. When you're satisfied, run the ``release\ncontribute`` command *while that branch is checked out*:\n\n::\n\n flowhub release contribute\n\nIt's very similar to the ``feature publish`` command, but the target of the\npull-request is the release branch, not the trunk.\n\n``hotfix contribute`` does the same thing, but for hotfixes.\n\nBoth ``contribute`` commands won't allow you to contribute branches that aren't\ndescended from release/hotfix branch (as appropriate).\n\nFor Managers\n~~~~~~~~~~~~\n\nAfter a while, Suzy is given push access to the original repository (the\nmaintainer cited her excellent branch organization as a key reason for the\npromotion).\n\nNow Suzy can make use of Flowhub's managerial commands.\n\nA milestone has been reached in her project, and it's time to get ready to\nrelease a new version (Suzy's repository is a good fit for ``git-flow`` - if\nGithub-flow were a better match for her, she wouldn't need the managerial\ncommands at all).\n\n::\n\n flowhub release start 0.3 # or whatever you want to tag the release as\n\n Summary of actions:\n - New branch release/0.3 created, from branch develop\n - Pushed branch release/0.3 to canon\n - Checked out branch release/0.3\n\n Bump the release version now!\n\nthis creates a new branch, off of develop, and sends it to github so that other\ndevelopers can start dotting i's and crossing t's. Flowhub will only allow one\nrelease branch at a time.\n\nWhen the release is polished to Suzy's satisfaction, she publishes the release:\n\n::\n\n flowhub release publish # Suzy is on the release she wants to publish; she could also name it here.\n Message for this tag (0.3): Lotta cool stuff here!\n\n Summary of actions:\n - Latest objects fetched from canon\n - Branch release/0.3 merged into master\n - New tag (0.3:\"Lotta cool stuf here!\") created at master's tip\n - Branch release/0.3 merged into develop\n - master, develop, and tags have been pushed to canon\n - Branch release/0.3 removed\n - Checked out branch develop\n\n\nA few days later, Suzy notices that a rare but seriously bad bug snuck\nthrough testing, and is affecting users. Suzy doesn't panic - she has Flowhub:\n\n::\n\n flowhub hotfix start 0.3.1\n\n Summary of actions:\n - Latest objects fetched from canon\n - Updated master\n - New branch hotfix/0.3.1 created, from branch master\n - Pushed hotfix/0.3.1 to canon\n - Checked out branch hotfix/0.3.1\n\n Bump the release version now!\n\nJust like releases, Flowhub will only let you have one hotfix branch going at a\ntime.\n\nWhen the bug's been killed, Suzy runs\n\n::\n\n flowhub hotfix publish\n Message for this tag (0.3.1): Sorry, guys.\n\n Summary of actions:\n - Branch hotfix/0.3.1 merged into master\n - New tag (0.3.1:\"Sorry, guys.\") created at master's tip\n - Branch hotfix/0.3.1 merged into develop\n - master, develop and tags have been pushed to canon\n - Branch hotfix/0.3.1 removed\n - Checked out branch develop\n\nIf Suzy had been running a release branch at the time, the hotfix would have\nbeen merged into that instead of her trunk; the bug would have been killed in\ntrunk when the release was published.\n\nNow with Hooks!\n~~~~~~~~~~~~~~~\n\nFlowhub now supports hooks, specifically:\n\n* post-feature-start\n* pre-feature-publish\n* post-release-start\n* pre-release-publish\n* post-hotfix-start\n* pre-hotfix-publish\n\nEach of these should live in the standard ``.git/hooks`` directory. They're\nexactly like git's normal hooks, but Flowhub runs them (rather than Git).\n\nParameters for hooks\n++++++++++++++++++++\n\nSome hooks are passed parameters (just as standard githooks are). This is what\nthey are:\n\n* post-release-start\n\n Passed the name of the release.\n* post-release-publish\n\n Passed the name of the release.\n* post-hotfix-start\n\n Passed the name of the hotfix.\n* post-hotfix-publish\n\n Passed the name of the hotfix.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/haaksmash/flowhub", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "flowhub", "package_url": "https://pypi.org/project/flowhub/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/flowhub/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/haaksmash/flowhub" }, "release_url": "https://pypi.org/project/flowhub/0.6.2/", "requires_dist": null, "requires_python": null, "summary": "Git-flow adapted for GitHub", "version": "0.6.2" }, "last_serial": 2082076, "releases": { "0.4.5": [ { "comment_text": "", "digests": { "md5": "7b2722698fcd6b5a79777d4574774af8", "sha256": "17851b7dc17141b4c992ec6e42612fccdcb8d77a83e256427b185775e53ac2ea" }, "downloads": -1, "filename": "flowhub-0.4.5.tar.gz", "has_sig": false, "md5_digest": "7b2722698fcd6b5a79777d4574774af8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15692, "upload_time": "2012-11-02T11:17:11", "url": "https://files.pythonhosted.org/packages/31/bf/c675296e4bd283c672c179f464ea18c799a6e6ac520c34023d3bbc224149/flowhub-0.4.5.tar.gz" } ], "0.4.6": [ { "comment_text": "", "digests": { "md5": "0371d188448f861cf420df3e3c8f246e", "sha256": "f6046263ce87f5176c9f54b8669b6f022ea0832025d774aa0caa83341f2019da" }, "downloads": -1, "filename": "flowhub-0.4.6.tar.gz", "has_sig": false, "md5_digest": "0371d188448f861cf420df3e3c8f246e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16216, "upload_time": "2013-01-31T08:45:34", "url": "https://files.pythonhosted.org/packages/f6/11/d8c1358f554b7a35114dd484b264c627d9a47091939ab9ff969cbe7a4711/flowhub-0.4.6.tar.gz" } ], "0.5.1a": [ { "comment_text": "", "digests": { "md5": "34e1df5ff0003d7db586d4b2b497afc6", "sha256": "a775b7665555e829d7dfe8e7f90e0583d12d16d800d8224b2ee2093f31b277e3" }, "downloads": -1, "filename": "flowhub-0.5.1a.tar.gz", "has_sig": false, "md5_digest": "34e1df5ff0003d7db586d4b2b497afc6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23913, "upload_time": "2013-06-13T03:19:29", "url": "https://files.pythonhosted.org/packages/5b/06/b02dc41f91e5a217c7004108dc3f10beb03a79767d74d3d1fb7692ca1702/flowhub-0.5.1a.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "c0599005d30dcb9a02426369a8822da2", "sha256": "5825ec1b14a3fa908e49c6d2cb64b21fe049825532e7cfb359011641c70def92" }, "downloads": -1, "filename": "flowhub-0.5.2.tar.gz", "has_sig": false, "md5_digest": "c0599005d30dcb9a02426369a8822da2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24523, "upload_time": "2013-11-14T10:25:41", "url": "https://files.pythonhosted.org/packages/6d/e2/06134844fd64e9a987a3ecec51965a02a9eb48ecad7b1a0e41aa752e3813/flowhub-0.5.2.tar.gz" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "839d05c33f53a23a50504d49e3095b40", "sha256": "f4d69a9c9fa8cdc4741cb18e2db56680561003cffa481db07d080496dbe4c2df" }, "downloads": -1, "filename": "flowhub-0.5.3.tar.gz", "has_sig": false, "md5_digest": "839d05c33f53a23a50504d49e3095b40", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24329, "upload_time": "2013-11-14T22:46:44", "url": "https://files.pythonhosted.org/packages/41/70/ceb61e49596d39b20a382ab37817d29ab36ad9422461c1d82e93429ed6ff/flowhub-0.5.3.tar.gz" } ], "0.5.4": [ { "comment_text": "", "digests": { "md5": "2085f82e6a1fe66900f7d7c43b5153c2", "sha256": "230c9c244d63d433ad0f67c0927eeb3e74fc933b1b80b9e4675bd8253585967e" }, "downloads": -1, "filename": "flowhub-0.5.4.tar.gz", "has_sig": false, "md5_digest": "2085f82e6a1fe66900f7d7c43b5153c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24409, "upload_time": "2013-11-14T23:57:29", "url": "https://files.pythonhosted.org/packages/7e/ae/fdb8cdc2e65d4ebf9aa510b373f4a2f31766f7dd92cd0aa139a52fad6fd8/flowhub-0.5.4.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "437486514edbc716329e308c6a34bcdb", "sha256": "0bdfc250bd06deca256af81d6a1ba0d0ae4cd245aa420e88c0d7d5cfd60284b9" }, "downloads": -1, "filename": "flowhub-0.6.0.tar.gz", "has_sig": false, "md5_digest": "437486514edbc716329e308c6a34bcdb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24426, "upload_time": "2015-06-26T10:05:46", "url": "https://files.pythonhosted.org/packages/6b/1d/2482d3e35c2dacda54a0a8bebf4afb26db303e23edfbd466b4cb0f5a197a/flowhub-0.6.0.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "e6e54c4d3f807266117c5e46688abf21", "sha256": "d3af56150f0f8ed3f868ec7ff6e826056101b9fb3f3d65ff66c5ce9e78bdcadd" }, "downloads": -1, "filename": "flowhub-0.6.1.tar.gz", "has_sig": false, "md5_digest": "e6e54c4d3f807266117c5e46688abf21", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24436, "upload_time": "2015-07-21T07:31:17", "url": "https://files.pythonhosted.org/packages/77/35/c2a9e983554bf311be72b789850f96b2f4d282c26a54c6fac94b70568300/flowhub-0.6.1.tar.gz" } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "b2ba8aaf25569dc226d8c467b46647aa", "sha256": "2e52134c83002ddbdec031ac2f838ca3dbdfad7733c638d541374aee10272262" }, "downloads": -1, "filename": "flowhub-0.6.2.tar.gz", "has_sig": false, "md5_digest": "b2ba8aaf25569dc226d8c467b46647aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24420, "upload_time": "2016-04-15T08:57:50", "url": "https://files.pythonhosted.org/packages/a9/4e/a8cb83af41335f3df8ae035f3f75adb581811b3c5df68119153cd012347b/flowhub-0.6.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b2ba8aaf25569dc226d8c467b46647aa", "sha256": "2e52134c83002ddbdec031ac2f838ca3dbdfad7733c638d541374aee10272262" }, "downloads": -1, "filename": "flowhub-0.6.2.tar.gz", "has_sig": false, "md5_digest": "b2ba8aaf25569dc226d8c467b46647aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24420, "upload_time": "2016-04-15T08:57:50", "url": "https://files.pythonhosted.org/packages/a9/4e/a8cb83af41335f3df8ae035f3f75adb581811b3c5df68119153cd012347b/flowhub-0.6.2.tar.gz" } ] }