Usando Subversion TortoiseSVN Merge Algoritmo en un Proyecto .NET

Tengo un montón de pares de files que tienen diferencias sutiles. Usamos subversion para un control de fuente, y me gusta la utilidad Merge / Diff que viene con TortoiseSVN para Windows. Y puedo usar esta utilidad para comparar / combinar manualmente dos files. Mi pregunta es la siguiente: ¿cómo puedo fusionar dos files de forma progtwigda de la misma manera que esta utilidad (e ignorar y marcar los files que tienen conflictos)?

Esto puede ayudar: automatizar TortoiseMerge

Sugeriría usar una de las bibliotecas .NET que admitan un algorithm de fusión establecido, como el sugerido en esta pregunta: ¿ Algún motor de diferencias / combinación de text decente para .NET?

No tengo idea de la calidad, también me encontré con esto: http://razor.occams.info/code/diff/

Algunas de las opciones que conozco:

  • Sharp SVN tal como lo utiliza el proveedor de control de origen ANKH para Visual Studio. Sin embargo, es lento para captar repositorys
  • DotSVN – '.Net puerto de Subversion'
  • Si alejarse de la subversión no es un problema, puede probar el parche Diff Match de Google.

No estoy seguro de si los dos proyectos de subversión implementan la fusión, pero me imagino que es un command del server. La diferencia no será y recomendaría la de Google para eso.

Puede que esté lejos de la marca si solo quiere automatizar la tortuga.

Combinar dos files donde no hay conflicto, sin intervención humana, probablemente no sea una buena idea, a less que pueda saber fácilmente cuál es el cambio, como tener la versión anterior de ambos files (como hace Subversion).

Por ejemplo, dados los siguientes dos files, ¿cuál es el curso de acción correcto? (La columna # es el número de línea, las lagunas significa que faltan líneas)

--- File #1 ------------------------ --- File #2 ------------------------ 1 This is the first line 1 This is the first line 2 This is the second line 2 This is the second line 3 This is the third line 4 This is the fourth line 3 This is the fourth line 4 This is the fifth line 5 This is the sixth line 5 This is the sixth line 

Entonces, ¿cuál es el resultado correcto aquí?