Que sont les"points de synchronisation"?

dans la fusion il y a une option disponible pour ajouter des points de synchronisation. Malheureusement je ne peux pas comprendre ce que ces soi-disant points de synchronisation font. J'en ai fait toute une histoire, mais ça ne semble pas faire grand-chose (sauf casser la comparaison en direct).

j'ai vérifié le manuel et cherché partout mais n'ont pas été en mesure de résoudre ce mystère.

L'option est disponible dans le menu édition et dans le cadre menu:

synchronization points in edit menusynchronization points in context menu

22
demandé sur Nicolas Raoul 2014-02-05 11:31:40

3 réponses

l'intention est que l'utilisateur soit capable de mettre en place des points dans chacun des fichiers comparés, qui sont censés correspondre. Cela permet à l'algorithme d'appariement de code de comprendre comment les deux fichiers se rapportent l'un à l'autre, dans les cas où les différences sont complexes.

je suis encore en train de le calculer par tâtonnements, en définissant un point dans un fichier puis un point correspondant dans l'autre. Cela ne fonctionne pas aussi bien que je l'aurais espéré; j'ai eu les points de synchronisation entrer dans un État d'inadéquation. Mais ça rend les choses nettement meilleures.

14
répondu Joel Polowin 2014-02-11 22:37:33

Voici comment utiliser les points de synchronisation dans la fusion:

  1. trouver deux lignes qui devraient être appariées mais qui sont considérées par Meld comme des lignes totalement différentes
  2. droit-cliquez sur le bouton gauche, cliquez sur "Ajouter un point de synchronisation"
  3. droit-cliquez sur le droit, cliquez sur "Ajouter un point de synchronisation"
  4. C'est ça! Maintenant Fusionner les deux lignes au même niveau.
  5. vous pouvez ajouter plus de couples de synchronisation, ou effacer toute synchronisation couple.

Exemple

dans la capture d'écran ci-dessous, vous pouvez voir que la partie "GetSyncItemFromRemotePath" est très similaire entre la gauche et la droite, mais Meld ne le voit pas. J'insère donc un point de synchronisation à gauche comme ceci:

enter image description here

... et puis j'ajoute un autre point de synchronisation sur le "GetSyncItemFromRemotePath" à droite.

Voici la résultat:

enter image description here

il est beaucoup plus facile de repérer les différences réelles, dans ce cas le type MIME.

3
répondu Nicolas Raoul 2018-06-12 05:26:47

comme mentionné par d'autres, Ceci est pour corriger l'algorithme diff et lui dire ce qui correspond à quoi quand il est confus sur son propre.

le fait est que j'essaierais de nettoyer à droite sur la gauche et puis clic droit sur la droite et tout se casserait juste complètement (comme vous l'avez mentionné il briserait la comparaison en direct et montrer un message à cet effet.)

pour que ça marche ce que je dois faire c'est placer le curseur sur la ligne dans le panneau gauche en cliquant sur cette ligne, puis sélectionnez Ajouter un Point de Synchronisation dans le menu contextuel ou dans le menu principal.

puis je répète la même opération dans le panneau droit: d'abord clic gauche pour sélectionner la ligne puis clic droit et sélectionner Ajouter point de synchronisation.

fait de cette façon, je peux ajuster la différence dans les endroits où elle se casse, ce qui le rend beaucoup plus rapide pour vérifier mes changements. Quand il casse juste quelques lignes, c'est bien, quand il casse plusieurs écrans de lignes, il devient fastidieux de comparer sans un tel caractéristique.

ce qui suit montre une différence de soudure qui devient confuse à la else mot clé. Ce bloc à gauche est comparé au nouveau default: bloc. (cliquez sur les images pour agrandir)

enter image description here

D'abord j'ai cliqué à gauche sur le bouton "else"dans le panneau de gauche et ensuite clic droit + "ajouter le point de synchronisation".

Ensuite, j'ai laissé cliqué sur le else dans le panneau droit et de nouveau clic droit + "ajouter la synchronisation Point."

Le résultat est correct:

enter image description here

Maintenant, je peux voir que juste le . ont été changés avec -> comme j'ai changé un vecteur d'objets à un vecteur de pointeur partagé à des objets.

notez que la fusion ajoute une ligne noire le long du lieu de synchronisation. Cela rend plus facile de voir où vous ajoutez vos points de synchronisation.

0
répondu Alexis Wilke 2018-08-19 06:26:13