Løs op for konflikter

Konflikter kan opstå så snart du har lavet ændringer i en fil som også er ændret af en anden udvikler. Konflikten detekteres af CVS når du opdaterer den ændrede fil. CVS forsøger at indflette ændringerne som blev indsendt af den anden udvikler i din arbejdskopi. Sammenføjningen mislykkes hvis både dine og hans ændringer er i overlappende dele af filen, og CVS-serveren udskriver så en fejlmeddelelse.

Filer med konflikter angives med "Konflikt" og med rød farve i statussøjlen i Cervisias hovedvindue. Det er din opgave at løse op for disse konflikter før du indsender filen. CVS nægter at indsende alle filer med konflikter indtil de er blevet redigeret. Fra hovedvinduet kan du naturligvis løse op for konflikter på den traditionelle måde: Dobbeltklik blot på filen det drejer sig om, og redigér den med din foretrukne editor.

CVS markerer de konfliktramte ændringer ved at placere markeringer i midten af filen på denne måde:

<<<<<<<
Ændringer i din arbejdskopi
=======
Ændringer i lageret
>>>>>>> revisions_nummer

Du bør erstatte hele denne blok med den nye indflettede version. Du har naturligvis fuldstændig frihed når et sæt konflikter skal løses: for hver konflikt kan du bestemme dig for at vælge en af to forskellige versioner. Du kan også bestemme dig for at begge angrebsmåder er fejlagtige og omskrive hele rutinen eller hele filen fra begyndelsen.

Heldigvis tilbyder Cervisia en bedre grænseflade til løsning af disse konflikter Det betyder ikke at du aldrig manuelt skal rette i filerne, men i det mindste elimineres behovet for at gøre det ved triviel konfliktløsning. For at bruge Cervisias CVS konfliktløsning-dialogen vælger du Fil->Løs... eller højreklik på den markerede fil og vælg Løs... i pop op-menu.

Figur 3.3. Et øjebliksbillede af Cervisias konfliktløsningsdialog


Et øjebliksbillede af Cervisias konfliktløsningsdialog

Længst oppe i dialogen, ser du din version (A) af filen til venstre og versionen i lageret (B) til højre. Forskellene mellem dem er angivet med rød farve. Under disse to versioner, kan du se den sammensatte version. Den afspejler den hvad blokken bliver i din version hvis du trykker på knappen Gem.

Du kan skifte mellem forskellige afsnit ved at trykke på << og >>. Længere ned i midten af dialogen ser du hvilket afsnit der er er markeret for øjeblikket. For eksempel så betyder 2 ud af 3 at du for øjeblikket er ved det andet afsnit ud af totalt tre.

Nu kan du bestemme afsnit for afsnit hvilken af de to versioner som du vil have i den sammensatte fil. Ved at trykke på A, vælger du versionen som du redigerede. Ved at trykke på B, overtager du versionen fra lageret. Ved at trykke på A+B tilføjes begge versioner og din kommer først. B+A giver samme resultat men i rækkefølgen: lagerets version og så din version.

Hvis ikke du er tilfreds ,med nogen af disse variationer, trykker du på Redigér for at åbne en simpel teksteditor hvor du kan redigere blokken. Når du er færdig trykker du O.k. for at vende tilbage tilCVS Konfliktløsningsdialogen og genoptager konfliktløsningen. Du får den blok du har redigeret at se i Indflettet version, hvor dine ændringer er.

For at gemme dine ændringer og overskrive arbejdskopien, trykker du Gem. Læg mærke til at dette vil gemme ikke bare den sektion du ser på lige nu, men alle sektioner i filen. Hvis du vil gemme til en anden fil, trykker du Gem som.... Tryk Luk for at forlade dialogen. Hvis du lukker dialogen uden at gemme mister du dine ændringer.