Question

Conditions requises:

  • libre, de préférence open-source
  • implémenté dans l'un des langs gérés par .NET

Google a trouvé ces informations:

EDIT:

Pas d'applications, s'il vous plaît, seules les bibliothèques.

Était-ce utile?

La solution

Vous pouvez récupérer le composant COM qui utilise le fichier Diff de Google / Patch / Match . Cela fonctionne à partir de .NET.

Mise à jour du 17 octobre 2010 : le Google Le code Diff / Patch / Merge a été porté en C #. Le composant COM fonctionne toujours, mais si vous venez de .NET, vous voudrez utiliser directement le port .NET.

Autres conseils

Je pense que le "Générique - Algorithme Diff réutilisable en C #" sur Codeproject est ce que vous pouvez trouver de mieux comme moteur .NET pour diff / patch / merge. J'ai réalisé moi-même un projet et il correspond à mes besoins avec la plupart des scénarios. Il existe un ou deux scénarios pires lorsque l'algorithme rend le fichier de correctif plus volumineux que nécessaire. Mais dans la plupart des cas, cela fonctionne très bien pour moi (fichiers texte d'une taille supérieure à 30 Mo).

Je teste actuellement un autre projet Codeproject que vous pouvez trouver ici: http: // www.codeproject.com/KB/applications/patch.aspx Il utilise certaines DLL de Microsoft pour appliquer des correctifs, donc cela semble intéressant. Mais ces DLL ne sont pas gérées et ce projet n’est qu’une sorte de wrapper. Mais peut-être que cela peut vous aider

Modifier: Je viens de trouver un autre projet, DiffPlex : http://diffplex.codeplex.com/ . Il s'agit d'une combinaison d'une bibliothèque de .NET Diffing avec à la fois un visualiseur Silverlight et HTML diff . Comme indiqué précédemment, , DiffPlex est la bibliothèque que CodePlex utilise pour générer les diffs de fichiers.

GitSharp inclut un moteur de diff basé sur meyers diff. Jetez un coup d’œil à la démonstration qui implémente un simple visualiseur wpf diff basé sur la collection Diff.Sections: http://www.eqqon.com/index.php/GitSharp#GitSharp.Demo

Aucune des réponses à ce jour (à l'exception peut-être de la référence GitSharp) ne traite de la fusion à 3 voies, donc au cas où cela aiderait quelqu'un, j'ai récemment porté la mise en œuvre de Tony Garnock-Jones en javascript diff3 (à partir de synchrotron , basé sur Hunt et McIlroy 1976) en C #.

C’est un port simpliste de méthodes de fusion diff et tridirectionnelle à fichier unique, mais c’est l’algorithme standard et jusqu’à présent qui fonctionne très bien pour moi: https://gist.github.com/2633407

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top