Kodean aldaketak desegitea CVS erabiliz
Gure kodea VCS baten bidez kudeatzen badugu —CVS, SVN, git, hg, …— behin baino gehiagotan aurkituko gara egoera honen aurrean: fitxategi batean aldaketak egin ditugu —edo beste edonork egin ditu— baina konturatu gara aldaketa horiek ez daudela ongi eta atzera egin nahi dugu. Aldaketak desegin daitezke? Noski, zerbaitengatik erabiltzen dugu ba halako kontrol-sistema bat!
CVSrekin suertatu zait halako egoera eta ikus dezagun nola konpon daitekeen hankasartzea:
- Lehenik bertsio zaharra eta berria identifikatu behar ditugu, zehazki hauen berrikuste-zenbakia (revision number) da interesatzen zaiguna. Horretarako
cvs log <fitxategia>komandoa erabil dezakegu:$ cvs log crashreporter.ini
Honek fitxategiak denboran zehar izan dituen egoera guztiak bistaratuko dizkigu eta interesatzen zaigun horren berrikuste-zenbakia hartuko dugu gogoan.
- Fitxategi zaharra identifikatuta, beharrezko elementu guztiak ditugu fitxategia leheneratzeko —nahi izanez gero fitxategi batetik bestera egon diren aldaketak aldera ditzakegu erabat ziur egoteko
cvs diffkomandoarekin—. Erabiliko dugun komandoacvs update -j azken-berrikuste-zenb -j berrikuspen-zaharraren-zenb <fitxategia>izango da:$ cvs update -j 1.8 -j 1.7 crashreporter.ini RCS file: /l10n/l10n/eu/toolkit/crashreporter/crashreporter.ini,v retrieving revision 1.8 retrieving revision 1.7 Merging differences between 1.8 and 1.7 into crashreporter.ini
Honek bi fitxategien arteko ezberdintasunak kalkulatu (diff) eta fitxategi berri batean batzen ditu (join).
- Falta zaigun bakarra aldaketa berriak zuhaitzean eguneratzea da. Ohiko moduan
cvs commiterabiliko dugu:$ cvs commit -m "revert file to 1.7 status" crashreporter.ini Checking in crashreporter.ini; /l10n/l10n/eu/toolkit/crashreporter/crashreporter.ini,v <-- crashreporter.ini new revision: 1.9; previous revision: 1.8 done