In my previous workplace we have used Gerrit as a code review tool for git to share and review each other's modifications on a web-based interface and give feedback and a chance to improve the code before merging.
It supports reviewing code (and rejecting it) before/without merging it into the master branch. Is there any other code review tool which supports pre-commit/merge reviews?
(Please don't constrain your answer to git, I'd be also interested in code review tools for other revision control systems like Mercurial or Subversion.)