Lösa upp konflikter

Konflikter kan uppstå så fort du har gjort ändringar i en fil som också ändrats av någon annan utvecklare. Konflikten detekteras av CVS när du uppdaterar den ändrade filen. CVS försöker då sammanfoga ändringarna som arkiverats av den andra utvecklaren i din arbetskopia. Sammanfogningen misslyckas om både dina och hans ändringar är i överlappande delar av filen, och CVS-servern skriver då ut ett felmeddelande.

Filer med konflikter anges i Cervisias huvudfönster med "Konflikt" i statuskolumnen och med röd färg. Nu är det ditt jobb att lösa upp konflikterna innan du arkiverar filen. CVS vägrar att arkivera alla filer med konflikter innan de har redigerats. I huvudfönstret kan du förstås lösa upp konflikter på det traditionella sättet: Dubbelklicka bara på filen i fråga, och redigera den med din favoriteditor.

CVS markerar ändringarna med konflikt genom att placera markeringar inne i filerna, på följande sätt:

<<<<<<<
Ändringar i din arbetskopia
=======
Ändringar i arkivet
>>>>>>> versionsnummer

Du bör ersätta hela blocket med den nya sammanfogade versionen.Du har förstås fullständig frihet när en uppsättning konflikter ska lösas upp: för varje konflikt kan du bestämma dig för att välja en av två olika versioner. Du kan också bestämma dig för att båda angreppssätten är felaktiga och skriva om hela rutinen eller hela filen från början.

Som tur är erbjuder Cervisia ett trevligare gränssnitt för att hantera konflikterna. Det betyder inte att du aldrig behöver redigera filerna för hand, men du kan åtminstone eliminera behovet att göra det för trivial upplösning av konflikter. För att använda dialogrutan CVS-upplösning i Cervisia, välj ArkivLös upp... eller högerklicka på den markerade filen och välj Lös upp... i den sammanhangsberoende menyn.

Figur 3.3. En skärmbild av Cervisias dialogruta för att lösa upp konflikter

En skärmbild av Cervisias dialogruta för att lösa upp konflikter

Längst upp i dialogrutan ser du Din version (A) av filen till vänster och versionen i arkivet, Annan version (B) till höger. Skillnaderna mellan dem är angivna med röd färg. Under de två versionerna, kan du se Sammanfogad version. Den sammanfogade versionen visar hur sektionen kommer att se ut i din arbetskopia om du klickar på knappen Spara.

Du kan byta mellan olika stycken genom att trycka på << och >>. Längre ner i mitten på dialogrutan ser du vilket stycke som för närvarande är markerat. Till exempel så betyder 2 av 3 att du för närvarande är på det andra stycket av totalt tre.

Nu kan du bestämma stycke för stycke vilken av de två versionerna som du vill ha i den sammanfogade filen. Genom att trycka på A, väljer du versionen som du redigerat. Genom att trycka på B, övertar du versionen från arkivet. Genom att trycka på A+B läggs båda versioner till, och din version kommer först. B+A ger samma resultat, men ordningen är annorlunda: först versionen från arkivet, och därefter din.

Om du inte är nöjd med någon av versionerna, tryck på Redigera för att visa en enkel texteditor där du kan redigera sektionen. När du är klar med redigeringen, tryck på Ok för att återgå till dialogrutan CVS-upplösning och fortsätta lösa upp konflikter. Du ser sektionen du just redigerade under Sammanfogad version, med dina ändringar.

För att spara dina ändringar och skriva över versionen i arbetskopian, tryck på Spara. Observera att det sparar valen för alla sektioner i filen, inte bara den du för närvarande tittar på. Om du vill spara i en annan fil, tryck på Spara som.... Tryck på Stäng för att avsluta dialogrutan. Om du stänger dialogrutan utan att spara, går ändringarna du gjort förlorade.