{ "info": { "author": "Julien Miotte", "author_email": "miotte.julien@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "============\ngitbuster II\n============\nFormerly qGitFilterBranch.\n\n\" If there's something strange / In your history / Who you gonna call ? / GitBuster! \"\n\nFrontend for git cherry-pick/git rebase:\n\n- use drag and drop to rebase a branch onto another (one or a set of commits)\n\n- graphical resolution of merge conflicts by displaying:\n * the original content of the file\n * the patch that was meant to be applied but failed\n * the unmerged content of the file for you to edit if necessary\n * a set of resolution choices (delete the file, add the file, add the file with custom content)\n\n- works with remote branches (directory on your filesystem or web)\n\n- rename a branch or create a new branch from any commit of your history\n\n- special conflicts mode that can be called right after a conflict when using 'git rebase -i'\n\nFrontend for git filter-branch:\n\n- use filters to display only the commits matching\n * committed before/after a date (e.g. commits before 01/01/11)\n * committed before/after a weekday (e.g. commits after friday)\n * committed before/after an hour (e.g. commits after 20:00)\n * the log message contains some string (e.g. matching \"CHANGEME\")\n * the user/email contains some string (e.g. matching \"wrong.email@\")\n\n- edit the displayed commits to change\n * the authored/committed date\n * the author/committer name and email\n * the log message\n\n- change multiple values at once\n\n- automatically re-order a given set of commits onto a given set of time ranges\n\n--------\nSafe try\n--------\nWith the demo.sh you can try gitbuster in a safe environment. The script\nwill check that all dependencies are met and install GitPython in a virtualenv.\nThat way it won't interfere with your system packaging tools (like apt).\n\n--------------------\nInstalling From PyPI\n--------------------\n\nInstalling with pip::\n\n $ pip install gitbuster\n\nNote: here we're talking about the Python package installer (http://guide.python-distribute.org/pip.html).\n\n-------------------\nManual Installation\n-------------------\nGet the code::\n\n $ git clone --recursive git://github.com/mike-perdide/gitbuster.git\n $ cd gitbuster\n\nInstalling ::\n\n $ make install\n\n---------------------\nBuilding From Sources\n---------------------\nDependencies:\n\n- pyuic4: on debian/ubuntu systems, look for a package named 'pyqt4-dev-tools'.\n- gcc: on most systems, look for a package named 'gcc'.\n- make: on most systems, look for a package named 'make'.\n- gfbi_core: see https://github.com/mike-perdide/gfbi_core.\n- GitPython\n\n\nTo build gitbuster UI files::\n\n $ cd gitbuster/\n $ make\n\nTo launch gitbuster::\n\n $ export PYTHONPATH=$PYTHONPATH:/gitbuster\n $ cd gitbuster\n $ ./gitbuster\n\n----\nBugs\n----\nThere are bugs in gitbuster, especially in:\n\n- dealing with some unicode commit metadata\n- cherry-picking big commits (+10 modified files) may result in gitbuster being blocked\n\nIf you find any bug, don't hesitate to report it and/or send patches:\n\n- on freenode, channel #gitbuster or directly to me (mike_perdide).\n- by email: mike dot perdide at gmail dot com\n- on github: https://github.com/mike-perdide/gitbuster/issues/new\n\nPlease mention the version you're using, or the tip of the repository if you're using the development version, and the steps to reproduce.\nYour help will be greatly appreciated.\n\n-------\nWarning\n-------\n\nAs of v2.1, gitbuster now handles merge commits correctly instead of deleting them as \"git rebase -i\" would.\nYou can modifiy metadata of an old commit without worrying that it would mess up your history tree.\nHowever, you should be careful when reordering commits in a non flat history, as gitbuster doesn't display correctly the branched histories.\nThe rule of thumb is that inserting a commit in a branch will take the commit below in the tableView as reference: the inserted commit inserted will take its place, and the reference commit will become the inserted commit's parent.\nAll commits that had the reference commit has parent will now have the inserted commit as parent.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/mike-perdide/gitbuster", "keywords": "git,frontend,change dates,rewrite history,rebase,cherry-pick", "license": "GPLv3", "maintainer": null, "maintainer_email": null, "name": "gitbuster", "package_url": "https://pypi.org/project/gitbuster/", "platform": null, "project_url": "https://pypi.org/project/gitbuster/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/mike-perdide/gitbuster", "Source repository": "https://github.com/mike-perdide/gitbuster" }, "release_url": "https://pypi.org/project/gitbuster/2.1b8/", "requires_dist": [ "gfbi_core (==0.5b6)", "argparse" ], "requires_python": ">=2.5", "summary": "Python Qt4 frontend for git filter-branch and git cherry-pick.", "version": "2.1b8" }, "last_serial": 792452, "releases": { "0.9b1": [ { "comment_text": "", "digests": { "md5": "fc44eeeec725f7e481ad56469fca1b80", "sha256": "57ee8c049a92a26418dd34ac5062f6c2f74fa6af71ad6195a449338884590b0e" }, "downloads": -1, "filename": "gitbuster-0.9b1.tar.gz", "has_sig": false, "md5_digest": "fc44eeeec725f7e481ad56469fca1b80", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.5", "size": 28469, "upload_time": "2011-02-26T11:13:41", "url": "https://files.pythonhosted.org/packages/71/12/cf77bee8e3617299556962e100fc55b31c86c09fa16a4d5a8dd972271c81/gitbuster-0.9b1.tar.gz" } ], "0.9b2": [ { "comment_text": "", "digests": { "md5": "41f6529d79ee450f75a627743b4db93b", "sha256": "442faef968ef44e961afd7305d787f95d09326144af39ba9789e52516831df4d" }, "downloads": -1, "filename": "gitbuster-0.9b2.tar.gz", "has_sig": false, "md5_digest": "41f6529d79ee450f75a627743b4db93b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.5", "size": 28951, "upload_time": "2011-02-26T18:06:05", "url": "https://files.pythonhosted.org/packages/b3/c2/b8c637fed8ad76785169b2f5c1c163c2043067ca632111784e16e54b31c6/gitbuster-0.9b2.tar.gz" } ], "0.9b3": [ { "comment_text": "", "digests": { "md5": "ff0252a163b531ca71fa669925419f62", "sha256": "924960215f26979298be3588e829fc8fa4299343c61d01d3ec32a0630fd7381c" }, "downloads": -1, "filename": "gitbuster-0.9b3.tar.gz", "has_sig": false, "md5_digest": "ff0252a163b531ca71fa669925419f62", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.5", "size": 28642, "upload_time": "2011-02-27T20:13:49", "url": "https://files.pythonhosted.org/packages/99/8c/66e3e2b67d7e269d635dd67ceaa5ee3db33f04e6900fce97de923fda6626/gitbuster-0.9b3.tar.gz" } ], "0.9b4": [ { "comment_text": "", "digests": { "md5": "71578446d8d31dd9191c1696e2069184", "sha256": "76e30156562be50f4bdcb0d7eff77fa8baf8077de585c52dc6a934a5c0e8541b" }, "downloads": -1, "filename": "gitbuster-0.9b4.tar.gz", "has_sig": false, "md5_digest": "71578446d8d31dd9191c1696e2069184", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.5", "size": 28662, "upload_time": "2011-02-28T18:29:44", "url": "https://files.pythonhosted.org/packages/43/fe/68cab01bc2ab78b61ec64e0627dc295abd56fbfc4f714ed8df2028fc584e/gitbuster-0.9b4.tar.gz" } ], "2.0.0b1": [ { "comment_text": "", "digests": { "md5": "aa3cdcec264a65e4f4e111013d43a543", "sha256": "0e2c7091c1dbb51fc1c9b44c9ab6b3d28dfcdce04f7a29ab370353047916f0cb" }, "downloads": -1, "filename": "gitbuster-2.0.0b1.tar.gz", "has_sig": false, "md5_digest": "aa3cdcec264a65e4f4e111013d43a543", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 111405, "upload_time": "2011-05-28T13:55:43", "url": "https://files.pythonhosted.org/packages/67/5e/a5caacc490d1a8a89733b79e40fcb13011ddfb89f3c173d90289e9070d2a/gitbuster-2.0.0b1.tar.gz" } ], "2.0b1": [ { "comment_text": "", "digests": { "md5": "19c17df8bec87dac678cb845dfc234e8", "sha256": "cc7a8403ed3ae04b5ebb310c1d3e768c4bea78d94a4b907f02d5872dc44803b2" }, "downloads": -1, "filename": "gitbuster-2.0b1.tar.gz", "has_sig": false, "md5_digest": "19c17df8bec87dac678cb845dfc234e8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.5", "size": 110018, "upload_time": "2011-06-03T14:20:06", "url": "https://files.pythonhosted.org/packages/98/0c/e72d58f42ef345e87ea1293fd6a9a3b6046a1939579c0fe6c3f7d65f707a/gitbuster-2.0b1.tar.gz" } ], "2.1b1": [ { "comment_text": "", "digests": { "md5": "81e840a922eae61a4b5ba2ae84ea0569", "sha256": "ea8575d82ac9b734d3c300fa28ef94747f6f6b4dbf525d325c4baa4937aa8e67" }, "downloads": -1, "filename": "gitbuster-2.1b1.tar.gz", "has_sig": false, "md5_digest": "81e840a922eae61a4b5ba2ae84ea0569", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.5", "size": 116239, "upload_time": "2011-06-22T20:35:32", "url": "https://files.pythonhosted.org/packages/81/7a/ceb299dda20f8b61a86dd5c52301bb5ff028981c1677475b067104d970af/gitbuster-2.1b1.tar.gz" } ], "2.1b2": [ { "comment_text": "", "digests": { "md5": "05d7dee74cc862b7aa1782399095e481", "sha256": "9fdb00e1774a0496cce636daaf871663ab1d64665ac06f77963a3271ed7d9f91" }, "downloads": -1, "filename": "gitbuster-2.1b2.tar.gz", "has_sig": false, "md5_digest": "05d7dee74cc862b7aa1782399095e481", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.5", "size": 116235, "upload_time": "2011-06-22T20:40:42", "url": "https://files.pythonhosted.org/packages/1c/68/71d97ed1bfdafa76cf957896905e54a2586f761475617ac0a481da673731/gitbuster-2.1b2.tar.gz" } ], "2.1b3": [ { "comment_text": "", "digests": { "md5": "f78536c900ceeccd85d37fb466638523", "sha256": "28bd92d993e1286387b849f8ef86fa5a32eea0f54803b226e200f37db5e6f7dd" }, "downloads": -1, "filename": "gitbuster-2.1b3.tar.gz", "has_sig": false, "md5_digest": "f78536c900ceeccd85d37fb466638523", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.5", "size": 116276, "upload_time": "2011-06-23T18:14:59", "url": "https://files.pythonhosted.org/packages/99/e8/de34d24cdc723db04160970b28c2d148a4afd6a623547e6fe70c4edaed1d/gitbuster-2.1b3.tar.gz" } ], "2.1b4": [ { "comment_text": "", "digests": { "md5": "f43e6c35bd3408beab766b8421529458", "sha256": "44e1d7bb423ac819ca12dbcaed88f8ca5ed4596c7b0e691af6810fdb03e4c400" }, "downloads": -1, "filename": "gitbuster-2.1b4.tar.gz", "has_sig": false, "md5_digest": "f43e6c35bd3408beab766b8421529458", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.5", "size": 116357, "upload_time": "2011-06-23T21:56:51", "url": "https://files.pythonhosted.org/packages/36/c5/1e42a85e2cb3cacd006bce5de343cb28475c36837a9039d789d7402a97b5/gitbuster-2.1b4.tar.gz" } ], "2.1b5": [ { "comment_text": "", "digests": { "md5": "0eb04b7932bb3de4cd9732b147b90565", "sha256": "c1e71404b2bcd99309c1f888c9ad6a7935c2979c9791ee37e8ca916433c203fa" }, "downloads": -1, "filename": "gitbuster-2.1b5.tar.gz", "has_sig": false, "md5_digest": "0eb04b7932bb3de4cd9732b147b90565", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.5", "size": 115400, "upload_time": "2011-07-01T20:39:51", "url": "https://files.pythonhosted.org/packages/dd/86/6e95415b192e2c8f8861008806e8e80e693df8616127c39638d6e38278a0/gitbuster-2.1b5.tar.gz" } ], "2.1b6": [ { "comment_text": "", "digests": { "md5": "08dad9ea226594282fdb976f011b6eca", "sha256": "8a794d5f1609187bb2706ff430c8a9aeb75adf29a0309130a975f520688f7ee3" }, "downloads": -1, "filename": "gitbuster-2.1b6.tar.gz", "has_sig": false, "md5_digest": "08dad9ea226594282fdb976f011b6eca", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.5", "size": 116562, "upload_time": "2011-07-06T19:29:10", "url": "https://files.pythonhosted.org/packages/6e/c0/a5278c5eb8bede098b1c22b9163d8b9eb54fe8d1257b060d4cfb86d10947/gitbuster-2.1b6.tar.gz" } ], "2.1b7": [ { "comment_text": "", "digests": { "md5": "780000c2985f9f2df8bf52de1beae37c", "sha256": "e045c546e97b3f0cd27e965aff29176fde67552d8c44fc616593c697f7fbdb39" }, "downloads": -1, "filename": "gitbuster-2.1b7.tar.gz", "has_sig": false, "md5_digest": "780000c2985f9f2df8bf52de1beae37c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.5", "size": 116537, "upload_time": "2011-07-06T20:03:24", "url": "https://files.pythonhosted.org/packages/7d/b6/081aabf732297047bb5e6da7f70d4e3c52747e8f676f3e8322c9201b59fc/gitbuster-2.1b7.tar.gz" } ], "2.1b8": [ { "comment_text": "", "digests": { "md5": "be846ce2aab5b4eadd2add575a544260", "sha256": "177f35e2781b66b51393963d5424858630559958baa6a7da75b0613dd3695cde" }, "downloads": -1, "filename": "gitbuster-2.1b8.tar.gz", "has_sig": false, "md5_digest": "be846ce2aab5b4eadd2add575a544260", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.5", "size": 116535, "upload_time": "2013-03-28T10:33:58", "url": "https://files.pythonhosted.org/packages/21/88/20dbe71b0a589e109d4a019fd039f646e3320daee11d6657ad5ec6fe1aa1/gitbuster-2.1b8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "be846ce2aab5b4eadd2add575a544260", "sha256": "177f35e2781b66b51393963d5424858630559958baa6a7da75b0613dd3695cde" }, "downloads": -1, "filename": "gitbuster-2.1b8.tar.gz", "has_sig": false, "md5_digest": "be846ce2aab5b4eadd2add575a544260", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.5", "size": 116535, "upload_time": "2013-03-28T10:33:58", "url": "https://files.pythonhosted.org/packages/21/88/20dbe71b0a589e109d4a019fd039f646e3320daee11d6657ad5ec6fe1aa1/gitbuster-2.1b8.tar.gz" } ] }