Il n'interprète pas les changements, dont le contenu reste purement syntaxique. En revanche, les changements sont manipulés comme des entités à part entière. Cela permet par exemple d'avoir un type de changement "replace" qui remplace un token par un autre. Lors d'un merge, si on a introduit dans une branche de nouvelles occurrences du token que l'on a remplacé dans l'autre branche, les nouvelles occurrences seront remplacées. La représentation du changement est sémantique: on n'utilise pas diff3 ou autres pour faire les merge, on a défini que le patch de remplacement remplacerait toujours toutes les occurences de 'coin' par 'pan'. C'est en ce sens que les changements sont sémantiques: chacun d'eux à un comportement bien défini dans tout contexte où il est légal de l'appliquer, et les contextes en question sont bien définis.
[^] # Re: Petite question
Posté par galbolle . En réponse à la dépêche Sortie de darcs 2.8. Évalué à 10.
Il n'interprète pas les changements, dont le contenu reste purement syntaxique. En revanche, les changements sont manipulés comme des entités à part entière. Cela permet par exemple d'avoir un type de changement "replace" qui remplace un token par un autre. Lors d'un merge, si on a introduit dans une branche de nouvelles occurrences du token que l'on a remplacé dans l'autre branche, les nouvelles occurrences seront remplacées. La représentation du changement est sémantique: on n'utilise pas diff3 ou autres pour faire les merge, on a défini que le patch de remplacement remplacerait toujours toutes les occurences de 'coin' par 'pan'. C'est en ce sens que les changements sont sémantiques: chacun d'eux à un comportement bien défini dans tout contexte où il est légal de l'appliquer, et les contextes en question sont bien définis.