TortoiseMerge's History

While working on TortoiseSVN we found that whenever users sent in patches to enhance the project or just to fix bugs, we had a lot of work just applying those patches. And many times those patches were outdated and couldn't be applied with the command line patch tool because we were working on those files and had sometimes changed those files already.

This was also the main reason why TortoiseSVN did not originally have a TortoiseSVNCreate Patch implemented: we preferred users to send us the whole files because with those it was easier to apply patches.

So we spent a lot of time, searching the Internet for a GUI tool which could apply patch files, but all we found was that such a tool didn't exist. So to cut a long story short: We decided that if no-one else could provide such a tool we would have to write our own. That's when TortoiseMerge was born.

Since TortoiseSVN already uses the Subversion library, which has a nice diffing engine built in, it was just natural to use this library instead of the GNU diff.

Subversion 1.7 introduced the svn patch command which allows to apply a patch file to a working copy. TortoiseMerge uses now the same functions as the Subversion command to avoid different behaviors between the two.

TortoiseSVN homepage