After reading DaveD’s blog post about using CommitMonitor back in March I downloaded it and have been using it since. CommitMonitor is a small tool that lives in your system tray that monitors SVN repositories for new commits. Up until recently, as part of a large dev team (for us) on a large project I used it to just keep an eye on the codebase to have a general idea what was happening. But today I realized that my usage has changed quite a bit and that I use it every day (multiple time per day mostly), really depend on it, and that it has really transformed my development process.
When I’m between tasks and see a notification that a new commit has been made I open up CommitMonitor and check out the details:
If I see a check-in that I’ve been waiting for or something that looks suspicious I can easily and quickly open up the files and view the changes right from the application with a couple of clicks. I’ve got it setup to use Tortoise-SVN, which in turn I have setup to use WinMerge for diffs. Without browsing through my file system or firing up Visual Studio I can do a quick check.
More importantly for me, this doesn’t require me to set aside a specific time to review check-ins each day or to actively search them out. I can take a few minutes right then and there and then not have to worry about it again. Additionally it helps me keep track of which checkins that I have and haven't reviewed - the ones in bold in the top image have not been reviewed yet.
Yes, our CI process publishes build reports and sends out emails – so I could find all the information to get me started in those. But, truthfully, I’m subscribed to so many project builds and get so many build emails that they’re just filed away into folders and I never see them again. The only ones I end up really paying any attention to are failed builds. It would probably take me 3x the amount of time to hunt those emails down, review them, then go back to Tortoise-SVN or Visual Studio and hunt down the files, diff them, etc. YMMV and you may be better off scheduling an hour at the beginning or end of your day to review the latest commits. Personally I’m not that structured and I think that I am more efficient with reviewing them as they come in.
If you’re using Subversion and work as part of a team with more members than just you, you should check out CommitMonitor. If you’re leading a team or a project and are finding it difficult to set aside time to review recent commits then you owe it to yourself to definitely check it out!