Mini Review of tog(1)

Aaron Poffenberger

Just tried tog(1), the "interactive read-only browser for Git repositories" included with Game of Trees. May I just say swoon?

tog has log, diff, blame, and tree views. You can start in any of the views by calling tog with appropriate sub-command, or start from default log mode and switch to tree by pressing t, blame by pressing enter, or diff by pressing enter on a line with a hash.

If you're already in a repo, tog log will launch with the current repo log in view, otherwise pass one or more of the repository path (-r), commit (-c), or path (file or directory).

tog blame accepts the same parameters except path must be a file.

tog diff accepts a repository path and SHA1 ids for the objects, while tog tree accepts only an optional commit (-c), or repository path.

If the terminal is wide enough, tog has an automatic split screen mode. Pressing enter on any line in the log view will open the diff pane to the right of the log pane. Press tab to switch between the two. Split view works everywhere that tog would normally switch to a new screen. In blame mode tog makes it easy to see file in its entirety and the commit.

For those of us who work at the command line, tog is a welcome addition to the toolset. With tog you'll spend less time in git log | more, and more time reviewing code and changes.

Congratulations and thanks to Stefan Sperling and Joshua Stein for producing a useful and usable tool!

On OpenBSD got(1) is in the -current pkg repo, or the source is available on the Game of Trees site.