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.
Esta foi também a principal razão pela qual TortoiseSVN originalmente não tem um
→ implementada: nós preferiamos que os usuários nos enviassem os arquivos inteiros pois assim ficava mais fácil aplicar a correção.Então nós gastamos um tempo, procurando na internet por uma ferramenta visual que permitisse aplicar os arquivos de correção, mas descobrimos que tal ferramenta não existia. Então para encutar a história: Nós decidimos que se ninguém poderia prover tal ferramenta nós deveríamos fazer a nossa própria. Foi quando TortoiseMerge nasceu.
Já que TortoiseSVN já usava as bibliotecas do Subversion, da qual possuia uma boa ferramenta de diferenças construida, era natual usarmos tal biblioteca ao invés da biblioteca 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.