I find myself working with numerous 3rd parties on my projects, and sometimes I need to review a significant amount of git commits. I am wondering if anyone has a favorite tool for reviewing changes, commenting, etc. Not always ruby code, sometimes there is a lot of JS or similar. I find the rudimentary tools of bitbucket insufficient and while RubyMine has a nice diff viewer, I don’t always have a project in RubyMine, it would be nice to simply connect a tool a git repository and view multiple commits in a nice side-by-side format. So… I am wondering what tools you all use to handle code reviews?
I think I have checked out all of the graphical git tools available on Linux (or at least most of them), to include the following: giggle, git-cola, GitEye, gitg, gitk, qgit, SmartGit
GitEye and SmartGit are very heavy duty, presumably intended to be full GUI replacements. Out of the two, I much prefer SmartGit. It also has support for git flow which is pretty nice.
For light GUI use such as reviewing logs, diffs, merge visualizations, I like git-cola. git-cola is a package that includes a script of the same name as well as git-dag. The former is a git GUI and the latter is a very nice front end to git-log. DAG stands for directed acyclic graphs. I don’t much know what that means, but it is an awesome tool and is what I would recommend to for your purposes.
You may already know of it, but for graphical side-by-side or multi-way comparisons of files and directory trees unrelated to VCS, meld is great. This is my go-to tool for advanced 3-way comparisons or directory tree work.
If you are willing to consider terminal options for reviewing git logs and git diffs, then tig is my personal favorite. I don’t use any of the other VCS tools very often, but tig sees use every day. It is really fast on the command line and allows for easy switching between commits, colorized diffs, etc.