在開發 TortoiseSVN 時,我們發現每當使用者傳送修補程式來增強專案或是修正錯誤時,我們在套用這些修補程式方面需要動用大量的功夫。而且很多時候這些修補程式已經過時,且無法使用指令列修補程式工具 https://unxutils.sourceforge.net/ 套用,因為我們正在處理那些檔案並且有時已經變更過那些檔案了。
這也是 TortoiseSVN 最初沒有植入
→ 的主要原因:我們比較偏好在使用者傳送給我們完整檔案,因為這樣比較容易套用修補程式。因此我們花了很多時間在網路上搜尋 GUI 工具,希望能套用修補程式檔案,但我們發現根本沒有這樣的工具。簡而言之:我們決定如果沒有人提供這樣的工具,我們自己動手寫一個。當時 TortoiseMerge 就由此誕生。
由於 TortoiseSVN 已經使用 Subversion 程式庫,而且內建了一個良好的比對引擎,因此我們很自然地使用這個程式庫,而不是 GNU diff。
Subversion 1.7 導入了 svn patch 指令,可將修補程式檔案套用至工作副本。現在 TortoiseMerge 使用與 Subversion 指令相同的函數,以避免兩者之間產生不同的行為。