In a SharePoint migration project, was in a situation where the content of the application in two diffrent servers (say dev vs test) had changed independently. In other words, dev cdb was modified, so was the test cdb. And both changes were almost valid. I had to individually pick and choose changes from dev and test and merge into a single source. And there were several such files.

SharePoint Designer 2010 exibhits a Vedantic property of being the best, not-so-best and neither both all at the sametime. In other words, the goodness in you can never the triumph the evil of SPD and will eternally continue to fight with it.

Modifying each file and merging would be cumbersome, especially when SPD usually likes to mind its own business when you want it to respond. So I decided to download the files from both content databases locally, then use a sophisticated compare tool like Beyond Compare or WinMerge, merge them and upload it back to the content database.

Solution

Microsoft must have finally shed some sense of shame and hired a few Unix guys who probably are behind PowerShell. So here comes PowerShell again to the rescue to do that effortlessly.