L'historique de TortoiseMerge

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 https://unxutils.sourceforge.net/ because we were working on those files and had sometimes changed those files already.

C'est aussi la raison principale pour laquelle TortoiseSVN n'avait pas un TortoiseSVNCréer un patch implémenté au début : nous préférions que les utilisateurs nous envoient le fichier entier puisqu'il était plus facile d'appliquer des patches avec ceux-ci.

Nous avons donc passé beaucoup de temps à chercher sur internet un outil visuel pouvant appliquer des patches, mais tout ce que nous avons trouvé c'est qu'un tel outil n'existe pas. Alors, pour faire court, nous avons décidé que si personne n'avait pu fournir un tel outil, nous devions créer le notre. C'est ainsi que TortoiseMerge est né.

TortoiseSVN utilise la librairie Subversion, qui intègre un bon moteur de différenciation, il est donc naturel d'utiliser cette librairie au lieu du diff GNU.

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.