9
votes

Contrôle de la version avec XML DIFF et Fusionner

Je recherche un outil de contrôle de version open source qui peut diffuser des fichiers XML et fusionner XML.

La difficulté que je dois trouver un tel outil est que j'ai besoin d'une fusion correcte d'un fichier XML comparant les nœuds et non les lignes.

aucune idée? Merci!


6 Réponses :


3
votes

Quelque chose que j'ai utilisé dans le passé est DIFFXML . Vous pourrez peut-être utiliser ceci comme commande diff pour un VC comme SVN ou GIT.


0 commentaires

7
votes

Malheureusement, il n'y a pas de solution unique à ce problème. Le diaphragme XML est très sensible à ce que vous considérez différent. Dans un cas, l'ordre des nœuds d'enfants pourrait être important et dans un autre cas (peut-être même dans le même dossier), cela pourrait être non pertinent.

Jetez un coup d'œil à xmlunit . Même si cela vise à tester unitaire, il s'agit d'un moteur de différenciation XML complet. Vous devez le dire (en code) comment déterminer que deux nœuds sont éligibles à la comparaison, puis quoi faire avec toutes les différences potentielles trouvées (c'est-à-dire qu'ils sont réels ou non, dans votre application). Il détecte une liste exhaustive des "événements de différence", y compris

  • Ordre d'attribut
  • nombre d'attributs
  • Ordre de nœud enfant
  • Nombre de nœuds d'enfants
  • Valeurs d'attribut explicites implicites vs
  • Différences de commentaire
  • DIFFÉRENCES DOCTYPE
  • Différences d'espace de noms

    et un tas entier plus. N'importe lequel de ceux-ci pourrait être important ou sans importance pour votre application et que vous seul pouvez décider. Ça mérite un coup d'œil, mais cela prendra du travail pour obtenir ce que vous voulez.


0 commentaires

1
votes

Vous recherchez un outil diff, ce qui n'est qu'un sous-ensemble de ce qu'un VCS est. Tous les VCS 'peuvent utiliser un programme externe pour différer des fichiers. Étant donné que le diff-outil externe peut être n'importe quoi, il pourrait également s'agir d'un script écrit par vous, qui est adapté pour analyser et comparer deux documents XML.

Je ne sais pas si cela vous permet de trouver ce que vous recherchez, mais cela pourrait.


0 commentaires

-2
votes

Comme les autres ont souligné, vous avez juste besoin d'un bon outil diff n'est pas le VCS.

Malheureusement, je n'ai pas entendu parler d'un outil de diffation graphique qui prend en charge XML. Donc, j'utiliserais un outil de diffamène de diffamation tel que (Winnmerge ou K3Diff), puis je validerais le XML résulté de la fusion à l'aide de tout outil de validation XML que vous aimez.


0 commentaires

-3
votes

Il devrait s'agir d'un outil simple tout en un pour les utilisateurs factices / paresseux. Les programmes d'apis ou de console ne correspondent pas. On dirait vraiment que cela n'existe pas dans le monde open source.

ClearCase peut le faire mais c'est cher. Oxygen peut fusionner mais ce n'est pas gratuit.


2 commentaires

Vous devriez probablement transformer cela en une section de mise à jour des questions. Ce n'est pas une réponse.


Le programme de console est parfait aussi longtemps qu'il ne prend qu'une seule commande



3
votes

Projet: Fusionner a été conçu pour résoudre ce problème exacte: comparer et fusion de fichiers XML via SCM Software. < / p>

J'ai bien peur que ce ne soit pas gratuit non plus, mais il est beaucoup moins cher que d'autres outils qui prétendent pouvoir comparer et fusionner XML.


0 commentaires