{ "info": { "author": "roubles", "author_email": "rouble@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "viewlog\n=======\n\nviewlog is a command line tool to browse historical versions of files\nstored using git, and open it in\n`less `__ (or any editor of\nyour choice).\n\n::\n\n $ viewlog ~/git/rmed/sh/rmed\n Pick your git commit id (choose 'exit' or ctrl-c to quit)\n File: /Users/rouble/git/rmed/sh/rmed\n\n => 20000e5e59270e99bc134b9acade8c722cc410de - 4 days ago, Rajnikant blessed the code thusly: rewrote from scratch.\n 8c0d5009b69afeca06333b8efd3a4690b92f64f5 - 4 days ago, Chuck Norris blessed the code thusly: obliterated all bugs.\n f8b2265944f10a4de3de3113bdb654b22c4fb65f - 4 days ago, Bernie Sanders blessed the code thusly: raised taxes.\n ae45df5ea466778a62da394370854ed49833696a - 4 days ago, Jackie Chan blessed the code thusly: karate chopped bugs.\n eafce9c6d5e742c59da35daeaffdd681a9ba8d14 - 4 days ago, The Hulk blessed the code thusly: smashed bugs.\n 0f2d343409a843b14861d385fd000440eb1360ca - 4 days ago, rouble blessed the code thusly: did I mention, more features?\n 5e61aa5dce263bdfd6adf0a3bca34d9ab66fbf08 - 4 days ago, rouble blessed the code thusly: more features.\n e1a61f877c085dd79b863c0664007fc2c9880bda - 5 days ago, rouble blessed the code thusly: more features.\n 8b10be72399c66a51462e7c8cd801b726ea6bab9 - 5 days ago, rouble blessed the code thusly: more features.\n f1711513272d8e1dda0db73f1f491c7a575c2f91 - 6 days ago, r0uble blessed the code thusly: more features.\n next page\n exit\n\nInstall\n-------\n\nIf you have pip, one line install:\n\n::\n\n $ pip install viewlog\n\nor\n\n::\n\n $ git clone https://github.com/roubles/viewlog\n $ cd viewlog\n $ python setup.py install\n\nNote that viewlog is dependent on the pypi package 'pick'. If it doesn't\nautomatically get installed, you need to:\n\n::\n\n $ pip install pick\n\nObligatory animated gif: |alt tag|\n\nHat tip\n-------\n\nHat tip to Wong2 for the `pick `__\nlibrary that was used for the curses picker implementation.\n\nMotivation\n----------\n\nI know there are lots of git gui's out there. But I like terminals.\nMaybe I am oldschool. I was getting by with this bash function for a\nwhile:\n\n::\n\n vimgitshow() { git show \"$1\" | vim - \"+set filetype=${1##*.}\"; }\n\n... but then I decided to slap some code together to browse the history\nand use any editor to open the files.\n\nUsage\n-----\n\n::\n\n usage: viewlog [-h] [-e EDITOR] [-s SKIP] [-l LIMIT] [-f LOGFORMAT]\n [-b BRANCH] [-n] [-a AFTER] [-u BEFORE] [-g GREP]\n [-o LOGOPTIONS] [-k]\n filename\n\n terminal git log browser\n\n positional arguments:\n filename Path to filename\n\n optional arguments:\n -h, --help show this help message and exit\n -e EDITOR, --editor EDITOR\n Editor to use\n -s SKIP, --skip SKIP Starting commit offset\n -l LIMIT, --limit LIMIT\n Total commits to show\n -f LOGFORMAT, --logformat LOGFORMAT\n Pretty format for git commit\n -b BRANCH, --branch BRANCH\n Branch to use\n -n, --nomerges Do not include commits from merged branches (Default:\n false)\n -a AFTER, --after AFTER\n Commits after/since date\n -u BEFORE, --before BEFORE\n Commits before/until date\n -g GREP, --grep GREP Limit the commits output to ones with log message that\n matches the specified pattern (regular expression)\n -o LOGOPTIONS, --logoptions LOGOPTIONS\n Extra options to pass directly to git log. (Escape the\n -- using \\-\\-)\n -k, --keeptemp Keep any created temp files (Default: false)\n\nCustom editor\n-------------\n\nThe default editor is less (remember, less is more), but that can be\nchanged.\n\n::\n\n $ viewlog --editor [vi|vim|mvim|gvim|less|more|emacs|]\n\nAs of version 1.1.4, the operating system emacs is supported.\n\nYou can also open binary files. For instance on a mac to open an\nanimated gif, I do:\n\n::\n\n $ viewlog viewlog.gif --editor \"open -a Safari\"\n\nCustom log line\n---------------\n\nYou can change the log line to whatever you want as long as the first\nparameter is still the commit id (%H or %h):\n\n::\n\n $ viewlog README.md --logformat \"%h - %ad, %an: %s\"\n => b2f88c8 - Sun Jan 24 15:21:57 2016 -0500, roubles: emacs ftw!\n d443a7c - Sun Jan 24 15:19:59 2016 -0500, roubles: vim ftw!\n cb47e52 - Sun Jan 24 15:17:26 2016 -0500, roubles: Will it blend?\n 750b153 - Sun Jan 24 15:16:06 2016 -0500, roubles: All your base are belong to us.\n 1e283cf - Sun Jan 24 00:58:41 2016 -0500, roubles: Update README.md\n 8bba27e - Sun Jan 24 00:57:52 2016 -0500, roubles: Update README.md\n 5be85d5 - Sun Jan 24 00:55:28 2016 -0500, roubles: Update README.md\n cbf5d8e - Sun Jan 24 00:48:13 2016 -0500, roubles: Update README.md\n edaceb1 - Sun Jan 24 00:45:01 2016 -0500, roubles: Update README.md\n 918166c - Sun Jan 24 00:34:54 2016 -0500, rouble: initial commit\n next page\n exit\n\nSearching\n---------\n\nYou can grep for commits that contain a specific pattern in the log\nmessage\n\n::\n\n Match any commits with \"[M|m]ore\" in the log message\n $ viewlog rmed --grep \"[M|m]ore\"\n Pick your git commit id (choose 'exit' or ctrl-c to quit)\n File: /Users/rouble/git/rmed/sh/rmed\n\n => e1a61f877c085dd79b863c0664007fc2c9880bda - 5 days ago, rouble blessed the code thusly: more features\n 8b10be72399c66a51462e7c8cd801b726ea6bab9 - 5 days ago, rouble blessed the code thusly: More features.\n f1711513272d8e1dda0db73f1f491c7a575c2f91 - 6 days ago, rouble blessed the code thusly: More features\n exit\n\nAdvanced Searching\n------------------\n\nYou can grep for multiple patterns and match all patterns by using the\n--logoptions feature\n\n::\n\n Only match commits with the leter \"[M|m]\" AND the letter \"n\" in the log message\n $ viewlog rmed --grep \"[M|m]\" --logoptions=\"\\-\\-grep=n \\-\\-all-match\"\n Pick your git commit id (choose 'exit' or ctrl-c to quit)\n File: /Users/rouble/git/rmed/sh/rmed\n\n => 680930c9aa5f176bfa9961d0d142e41f67a74dad - 6 days ago, rouble blessed the code thusly: Add footer and some documentation.\n exit\n\n.. |alt tag| image:: https://raw.github.com/roubles/viewlog/master/doc/viewlog.gif", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/roubles/viewlog/tarball/1.1.5", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/roubles/viewlog", "keywords": null, "license": "Creative Commons Attribution-Noncommercial-Share Alike license", "maintainer": null, "maintainer_email": null, "name": "viewlog", "package_url": "https://pypi.org/project/viewlog/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/viewlog/", "project_urls": { "Download": "https://github.com/roubles/viewlog/tarball/1.1.5", "Homepage": "https://github.com/roubles/viewlog" }, "release_url": "https://pypi.org/project/viewlog/1.1.5/", "requires_dist": null, "requires_python": null, "summary": "terminal git log browser", "version": "1.1.5" }, "last_serial": 1924372, "releases": { "0.1.dev0": [ { "comment_text": "", "digests": { "md5": "5b1456a150679299cc9af8a765ca2f61", "sha256": "a7565e2e5df5960df28861b6615f4a074bc6197243b8d8bb8d7226bd999a2317" }, "downloads": -1, "filename": "viewlog-0.1.dev0.tar.gz", "has_sig": false, "md5_digest": "5b1456a150679299cc9af8a765ca2f61", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4025, "upload_time": "2016-01-24T19:52:19", "url": "https://files.pythonhosted.org/packages/f6/2f/a80e5737ffae2da6d2bf0f3229b430d5b38aa03a69080c7ee63a2864c98a/viewlog-0.1.dev0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "c15bf3238f4baf4becd7a18adffb595c", "sha256": "041bbfa2e7b4f8db1b3c1c6cb2cc531805408f41a7b8697da243d421030d7b0d" }, "downloads": -1, "filename": "viewlog-1.1.0.tar.gz", "has_sig": false, "md5_digest": "c15bf3238f4baf4becd7a18adffb595c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3993, "upload_time": "2016-01-24T20:01:23", "url": "https://files.pythonhosted.org/packages/c5/f0/e8d7a43371a978cfdca1db7549ff3d012763d2d54429c33f3ab10cc5922e/viewlog-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "1f9cd79974634b3dafc8d5cac3be185d", "sha256": "a526d6a13eea625415fc2893b0ca063b59c0e194ef95ec080e485dce958ceab4" }, "downloads": -1, "filename": "viewlog-1.1.1.tar.gz", "has_sig": false, "md5_digest": "1f9cd79974634b3dafc8d5cac3be185d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4006, "upload_time": "2016-01-24T20:02:43", "url": "https://files.pythonhosted.org/packages/9c/07/811d76c7a5d256e1f9bafcb8ecc4489b09e431cab56f770f9652beab98a9/viewlog-1.1.1.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "2787d021c1f661e77b92dce2f19d06c9", "sha256": "019346353741d14c6d1d3f1845f6276171bb4f399e5e5c700e1208448cf3db90" }, "downloads": -1, "filename": "viewlog-1.1.3.tar.gz", "has_sig": false, "md5_digest": "2787d021c1f661e77b92dce2f19d06c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4417, "upload_time": "2016-01-24T20:37:58", "url": "https://files.pythonhosted.org/packages/8e/df/acf0498e0872fadc525bbbac515ac09c55d22e189b808a2fb5c4d8542294/viewlog-1.1.3.tar.gz" } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "f4ff158bddac82d6a2fe489826d753b8", "sha256": "408ff830aabcdc3e3a27a71a95f736a22e40df8df47d7ea2bd4623fd72e336ac" }, "downloads": -1, "filename": "viewlog-1.1.4.tar.gz", "has_sig": false, "md5_digest": "f4ff158bddac82d6a2fe489826d753b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5843, "upload_time": "2016-01-26T19:02:51", "url": "https://files.pythonhosted.org/packages/a8/9b/3216d34502c36575dd09c4226737b929db63fc9d57b8d55f39bfab225c96/viewlog-1.1.4.tar.gz" } ], "1.1.5": [ { "comment_text": "", "digests": { "md5": "283d6b3cdbbab016a767d4e2207f185c", "sha256": "8d36b1285a87bef285409732cb43daec92aa228694e7a3e6d348e9251546e37f" }, "downloads": -1, "filename": "viewlog-1.1.5.tar.gz", "has_sig": false, "md5_digest": "283d6b3cdbbab016a767d4e2207f185c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6418, "upload_time": "2016-01-26T20:01:57", "url": "https://files.pythonhosted.org/packages/2e/f4/f01ffde969d1454e1f3c7ee0042e0cc61e28ef862178123c318d72649233/viewlog-1.1.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "283d6b3cdbbab016a767d4e2207f185c", "sha256": "8d36b1285a87bef285409732cb43daec92aa228694e7a3e6d348e9251546e37f" }, "downloads": -1, "filename": "viewlog-1.1.5.tar.gz", "has_sig": false, "md5_digest": "283d6b3cdbbab016a767d4e2207f185c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6418, "upload_time": "2016-01-26T20:01:57", "url": "https://files.pythonhosted.org/packages/2e/f4/f01ffde969d1454e1f3c7ee0042e0cc61e28ef862178123c318d72649233/viewlog-1.1.5.tar.gz" } ] }