Sia il confronto che l'unione si basano sul rilevamento di differenze. Questo argomento descrive differenze e conflitti.
L'unità di base del rilevamento è il nodo XML: la differenza confronta sempre il nodo presente in un contributore singolo allo stesso tipo di nodo presente nella versione di base.
Un nodo può includere più nodi figlio, ma la granularità del rilevamento non si spinge oltre. Ad esempio, se il contenuto di un nodo di testo è stato modificato, Unione differenze XML di Rational ClearCase non indica quali differenze esistano nel testo; viene semplicemente indicato che il nodo è diverso in due versioni.
Per trovare lo stesso nodo in contributori diversi, Unione differenze XML di Rational ClearCase esegue la seguente sequenza di test di corrispondenza:
La Tabella 1 descrive i quattro tipi di differenze che Unione differenze XML di Rational ClearCase rileva e come vengono visualizzate nei riquadri contributore. Per semplicità, viene visualizzata solo una coppia contributore/versione di base. Notare come il colore del testo e la descrizione a comparsa di ogni differenza indichino chiaramente il tipo di differenza.
Tipo di differenza | Illustrazione |
---|---|
Modifica Il valore dell'elemento è diverso. |
![]() |
Aggiungi È stato inserito un elemento in un contributore. La versione di base include un segnaposto in cui l'elemento viene inserito nel contributore modificato. |
![]() |
Elimina In un contributore è stato rimosso un elemento. Il contributore modificato comprende il segnaposto in cui l'elemento è stato rimosso. |
![]() |
Sposta L'ubicazione dell'elemento è diversa. La differenza relativa allo spostamento dispone di più ubicazioni in ogni contributore: l'elemento XML stesso e un nodo segnalibro in ogni ubicazione dell'elemento XML in altri contributori. Utilizzare il pulsante |
![]() |
Dopo i nodi di corrispondenza, un'unione automatica tenta di risolvere le differenze:
In entrambe le finestre Unione e Confronto, vengono esplorati i nodi differenza non risolta facendo clic sui pulsanti Differenza non risolta. Le differenze non risolte hanno significati leggermente diversi in ogni finestra.
Nella finestra Unione, ogni differenza non risolta nei riquadri contributore viene rappresentata dall'icona del punto di unione nel riquadro dell'output dell'unione.
Nella finestra Confronto, le differenze non risolte rappresentano un conflitto che rimane dopo un'unione automatica, qualsiasi sia la politica di unione automatica.
I conflitti possono essere descritti in termini di tipi di differenze individuali fra i contributori. In entrambe le finestre, la descrizione a comparsa delle differenze non risolte indica uno dei tipi di conflitti descritti nella Tabella 2.
Tipo di differenza non risolta | Illustrazione |
---|---|
Modifica-modifica Lo stesso nodo viene modificato in modo diverso in due o più contributori. |
![]() |
Aggiungi-aggiungi Versioni diverse dello stesso nodo sono state inserite in due o più contributori. |
![]() |
Modifica-elimina Lo stesso nodo viene modificato in un contributore ed eliminato in un altro. |
![]() |
Sposta-modifica Lo stesso nodo viene modificato in un contributore e spostato in un'ubicazione differente in un altro contributore. |
![]() |
Sposta-elimina Lo stesso nodo viene eliminato in un contributore e spostato in un'ubicazione differente in un altro contributore. |
![]() |
Sposta-sposta Lo stesso nodo viene spostato in una ubicazione in un contributore e in un'ubicazione differente in un altro contributore. |
![]() |