etiqueta ejemplos .net merge diff

ejemplos - ¿Algún motor de diferencias/combinación de texto decente para.NET?



etiqueta meta (4)

Requisitos:

  • gratis, de preferencia de código abierto
  • implementado en uno de los langs administrados .NET

Google encontró esto:

EDITAR:

Sin aplicaciones, solo bibliotecas.


Creo que el "Genérico - Algoritmo difuso reutilizable en C #" en CodeProject es lo mejor que puedes encontrar como .NET-Engine para diff / patch / merge. Hice un proyecto por mi cuenta con él y se adapta a mis necesidades con la mayoría de los escenarios. Hay uno o dos escenarios de peor caso cuando el algoritmo hizo que el archivo de parche fuera más grande de lo que debería ser. Pero en la mayoría de los casos funciona bien para mí (archivos de texto con un tamaño de> 30 MB).

Actualmente estoy probando otro proyecto de proyecto de código que puede encontrar aquí: http://www.codeproject.com/KB/applications/patch.aspx Está usando algunas DLL de Microsoft para parchear, por lo que parece interesante. Pero esos archivos DLL no están administrados y este proyecto es solo una especie de envoltorio para él. Pero tal vez te pueda ayudar

Editar: Acabo de encontrar otro proyecto, DiffPlex : http://diffplex.codeplex.com/ Es una combinación de .NET Diffing Library con un visor de diferencias Silverlight y HTML . Como se indica there , DiffPlex es la biblioteca que CodePlex aprovecha para generar los difs de archivos.



Ninguna de las respuestas hasta ahora (excepto posiblemente la referencia de GitSharp) trata sobre la fusión tripartita, así que en caso de que ayude a alguien, recientemente porté la implementación javascript diff3 de Tony Garnock-Jones (del proyecto synchrotron , basado en Hunt y McIlroy 1976) a C #.

Es un puerto simplificado de un solo archivo de métodos de combinación de diferencias y de tres vías, pero es el algoritmo estándar y hasta ahora me funciona muy bien: https://gist.github.com/2633407