Risolvere i conflitti

I conflitti possono presentarsi ogni qualvolta vengono fatte modifiche a un file che è stato modificato anche da altri. Il conflitto viene rilevato da CVS all'aggiornamento del file; CVS prova quindi a fondere le modifiche depositate dagli altri nella copia di lavoro. La fusione non riesce se le tue modifiche e quelle degli altri si sovrappongono, e CVS produce un messaggio d'errore.

Nella vista principale di Cervisia, i file con conflitti sono indicati con In conflitto nella colonna dello stato e con un colore rosso. È adesso compito tuo risolvere questi conflitti prima di depositare il file. CVS si rifiuterà di depositare file con conflitti finché non saranno modificati. Dalla vista principale puoi ovviamente risolvere i conflitti nel modo tradizionale: fai doppio clic sul file in questione e modificalo nel tuo editor preferito.

CVS indica le modifiche in conflitto mettendo degli indicatori nei file, così;

<<<<<<<
Modifiche nella tua copia di lavoro
=======
Modifiche presenti nel deposito
>>>>>>> numero_revisione

Devi cambiare l'intero blocco con la nuova versione fusa. Naturalmente, hai molta libertà nella risoluzione dei conflitti: puoi decidere per ciascun conflitto quale delle due alternative mantenere. Puoi anche decidere che entrambe le alternative sono inadeguate, e riscrivere l'intera sezione o l'intero file daccapo.

Fortunatamente, Cervisia ha un'interfaccia più comoda per gestire questi conflitti. Non vuol dire che non dovrai mai modificare a mano i file, ma può almeno eliminarne la necessità per risolvere i conflitti più semplici. Per usare la finestra Risolvi CVS di Cervisia scegli FileRisolvi o fai clic con il tasto destro del mouse sul file selezionato e scegli Risolvi dal menu contestuale.

Figura 3.3. Schermata della finestra di risoluzione dei conflitti di Cervisia

Schermata della finestra di risoluzione dei conflitti di Cervisia

In cima alla finestra, vedi La tua versione (A) del file sul lato sinistro e l'Altra versione (B) sul lato destro. Le differenze sono indicate in rosso. Sotto le due versioni puoi vedere la Versione fusa. Quest'ultima riflette cosa sarà la tua copia di lavoro se premi il pulsante Salva.

Puoi andare avanti e indietro tra le sezioni in conflitto con << e >>. In basso e in mezzo alla finestra puoi vedere quale sezione è attualmente selezionata. Per esempio, 2 di 3 indica che sei alla seconda sezione con differenze su tre totali.

Adesso puoi decidere, sezione per sezione, quale versione vuoi avere nel file fuso. Premendo A, selezioni la tua versione; con B, selezioni quella del deposito. Premendo A+B saranno aggiunte entrambe, e la tua verrà per prima. B+A fa la stessa cosa, ma in ordine opposto.

Se non sei soddisfatto di nessuna di queste possibilità, premi Modifica per aprire un editor di testo semplice dal quale modificare la sezione. Quando hai finito di modificarla, premi OK per tornare alla finestra Risolvi CVS e riprendere a risolvere i conflitti. Vedrai la sezione appena modificata nella Versione fusa, con le tue modifiche.

Per salvare le modifiche, sovrascrivendo la versione della copia di lavoro, premi Salva. Nota che ciò salverà le modifiche non solo della sezione che stai attualmente visualizzando, ma di tutte le sezioni nel file. Se vuoi salvare in un altro file, premi Salva come. Premi Chiudi per uscire dalla finestra. Se chiudi la finestra senza salvare, le modifiche andranno perse.