We use a very similar system at Amazon.<p>Our code review tool creates a diff and uploads it to a server. Once uploaded you publish the diff and wait for someone to approve it.<p>Our team squashes and rebases before pushing to master but I know of other teams that leave the history as is.<p>The only downside of the code review tool is that a large amount of changes is hard to grok. Breaking a single large code review into multiple small reviews generally counteracts that.<p>It took some getting used to but it&#x27;s powerful once you understand the development flow.