The best Diff so far

Sunday, 07 June 2015 12:20 Stefano Tommesani
Print

We recently heard about two really far branches in our codebase. Your mission, should you choose to accept it, is finding the changes and merging them.

So I try a GIT diff within Atlassian SourceTree, my GIT client of choice, and the result is unusable: the developers not only made a lot of changes within the same functions, but they also moved functions across the source file, and diff is trying to reconcile different pieces of code that have some similarity.

Enter WinMerge. More or less, the result is comparable to what I had with GIT, back to square one.

After a search on the net, I have found DiffMerge from SourceGear. Running it on the same code, I got a vastly better result, as it recognizes that is parsing C++ code and seems to use function definitions to resynch changes, this way avoiding reporting similar lines of code from different functions as a match. Of course, it does not track functions moved across the source file, but it is fairly easy to spot them, as they appear as code blocks appearing only on the left or right column in the trackbar on the left.

Mission accomplished!

Diff

Quote this article on your site

To create link towards this article on your website,
copy and paste the text below in your page.




Preview :

The best Diff so far
Sunday, 07 June 2015

© 2019 - Stefano Tommesani


Powered by QuoteThis © 2008