svn://192.168.241.3/var/lib/svnrepos/embedded
Vytvara sa v pripade potreby novej funkcionality a platia nasledovne pravidla:
Vytvara sa kazdy alebo kazdy druhy mesiac a platia nasledujuce pravidla:
Korenovy adresar svn repozitara sa nachadza: svn://192.168.241.3/var/lib/svnrepos/embedded
Repozitar sa z logickeho hladiska deli na viacero casti:
Z pohladu udrzby na:
Korenovy adresar dopravnych aplikacii: svn://192.168.241.3/var/lib/svnrepos/embedded
Repozitar obsahuje aplikacie a pevne spojene kniznice aplikacnej logiky:
Korenovy adresar kniznic: svn://192.168.241.3/var/lib/svnrepos/embedded
Adresar je podla zamerania kniznic dalej deleny na celky:
alebo je mozne vytvorit branch pomocou kdesvn: “Subversion/General/Copy” (nad trunkom zobrazenom v pravom okne),
alebo pomocou prikazu:
svn copy svn://192.168.241.3/var/lib/svnrepos/embedded/Apps/VehicleSystem/trunk \
svn://192.168.241.3/var/lib/svnrepos/embedded/VehicleSystem/branches/1311 \
-m "created release 1311 from trunk"
novsie pravidla mergovania : pravidla a poznatky z mergovania projektov
mergovanie zmien vo vetve branchu do trunku http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.merge.html
svn merge -r N:M SOURCE[@REV] [WCPATH] mergovanie zmien od verzie N po verziu M do WCPATH is the working copy path that will receive the changes. Default value is ”.”
priklad: aktualny adresar je stiahnuty adresar trunk daneho projektu svn merge -r 1305:1750 svn://192.168.241.3/var/lib/svnrepos/embedded/Apps/VehicleSystem/branches/1311 kde 1305 je cislo revision od ktorej zacal branche a 1750 je aktualne revizia(HEAD) - revizia po ktoru chceme mergovat
Nasledne po tomto kroku je potrebne otvorit a skontrolovat vysledok(working copy) v klientovi(kdesvn) a po vizualnej kontrole sa vysledky commitnut do SVN komit sa prevazda s poznamkou “Merged revision 1750-1750 from branch 0903” Tato poznamka je potrebna pre pripad, ked sa este opravia nejake chyby v tomto branchu, ktory uz bol mergovany.
priklad comitu z command line svn ci -m "Merged revision 1750-1750 from branch 0903"
Informacie o historii mergeov sa daju pozriet aj z properties mergeinfo:
cd FareSystem/branches/0903 svn propget svn:mergeinfo . /trunk:341-390
alebo:
cd FareSystem/branches/0903 svn mergeinfo svn://192.168.241.3/var/lib/svnrepos/embedded/Apps/VehicleSystem/trunk
blizsie info na: http://svnbook.red-bean.com/en/1.5/svn-book.html#svn.branchmerge.basicmerging.mergeinfo
Ked sa niekomu podari omylom commintnut nieco co nechce a chce aby sa to v svnku vratilo do povodneho stavu. Je mozne pouzit svn merge na vratenie lokalnej kopi a potom commitnut lokalne zmeny do svn-ka. Jedine co treba je vytvorit spatny rozdiel (reverse difference). Da sa to cez specifikovanie revizie: –revision 303:302, alebo –change -303.
potrebne v problematickom adresari pustit svn cleanup (pred tym mat nainstalovane svn: sudo apt-get install subversion)
V situaciach, ked kdesvn hlasi, ze woking copy, nad ktorou pracujete je locked a nepomaha cleanup, je mozne vyriesit situaciu rucnym odstranenim locknutych suborov prikazom:
find . -name 'lock' -exec rm -v {} \;