Řešení konfliktů

Při aktualizaci a při potvrzování změn může docházet ke konfliktům. Ke konfliktu dochází v případě, že máte lokálně upravený prostředek, pro který je v úložišti aktuálnější sdílená verze projektu. Zejména jde o případ, kdy sdílené úložiště obsahuje verzi, která je novější než základní verze vašeho prostředku. V takovéto situaci můžete zvolit jeden z následujících postupů:

Zpravidla použijete třetí možnost, tj. sloučení, protože ostatní dvě varianty doprovází ztráta provedené práce.

Ruční sloučení změn

Pohled Synchronizace označuje prostředky, jež jsou v konfliktu se sdílenou verzí projektu. Pro daný konfliktní prostředek zpravidla budete chtít sloučit své změny do změn prostředku sdílené verze projektu.

Předpokládejme, že jste například vy a jiný člen vašeho týmu upravili tutéž stránku html. Po otevření tohoto prostředku z pohledu Synchronizace se zobrazí porovnání lokálního prostředku a sdílené verze projektu. Listováním a slučováním jednotlivých změn můžete pro každou ze změn stanovit, zda má být příchozí změna přijata, odmítnuta nebo sloučena do vašich lokálních změn. Po dokončení slučování své změny uložte. Dojde přitom k přepsání vašeho lokálního prostředku výsledkem sloučení. Následně můžete tento sloučený prostředek potvrdit.

Tip: Při slučování změn bývá často praktické odlišovat soubory, pro které bylo slučování dokončeno. Po dokončení slučování určitého souboru můžete zvolit položku Označit jako sloučené kontextové nabídky. Dojde přitom ke změně stavu souboru: z konfliktu na odchozí změnu.

Rozdíly můžete v pohledu Synchronizace začleňovat ve dvou úrovních:

Automatické sloučení změn

Nelze zajistit automatické slučování veškerých vašich změn. Provedete-li pro kterýkoli prostředek označený jako ASCII operaci Tým > Aktualizace, dojde k automatickému sloučení prostředku sdílené verze projektu do rozdílů vašeho lokálního prostředku. Tento postup lze použít bez obav pouze v případě, že žádný řádek neobsahuje konfliktní změny. Pokud se zde konfliktní změny vyskytují, vloží systém CVS do souboru speciální markup, který označí řádky, které nemohou být sloučeny.

Aktualizace z pohledu Synchronizace probíhá poněkud odlišně. Při výskytu konfliktu Aktualizace zpracuje pouze soubory, které neobsahují žádné konflikty. Soubory obsahující konflikty budou vynechány a ponechány v pohledu Synchronizace jako konflikty.

 Související pojmy
Týmové programování s CVS
Synchronizace s úložištěm CVS
Trojstranná porovnání

Související úlohy
Synchronizace s úložištěm
Aktualizace
Potvrzení
Sloučení z větve
Porovnání prostředků
Sloučení změn v editoru porovnání

Související odkazy
www.cvshome.org: Zaktualizování souboru
www.cvshome.org: Příklady konfliktů
Editor porovnání