Subversion is een veel gebruikte VCS (version control system). Echter, Bazaar (bzr) is in opkomst; onder andere Ubuntu gaat hierop over.
Zelf heb ik ook een subversion account bij Unfuddle. Ik kwam er echter achter, dat bzr ook werkt op een ftp- of ssh-account. Ik zou dan niet meer vastzitten aan Unfuddle. Maar hoe krijg je je bestanden nou van een svn naar je bzr repository?
Stel je voor dat je je project ‘PROJECT’ wilt verplaatsen. Gebruik je terminal voor de volgende (Linux-)commando’s (Let op: je kopieert niet alle revisies, maar alleen de laatste, de zogenaamde ‘head’)
-
Download eerst je subversion files:
-
mkdir PROJECT bzr init-repo PROJECT cd PROJECT bzr svn-import http://
/mijncode_svn Ik gebruik hiervoor bzr met svn-import; je kan natuurlijk ook svn checkout gebruiken.
- Verwijder nu de sporen naar de oude repository. Let wel op dat als je svn checkout hebt gebruikt, je andere bestanden/mappen moet weggooien.
cd mijncode_svn rm -rf .bzr
- Hernoem nu de mappen zo, dat ze een logische naam hebben. Ik hernoem mijn eigen branch naar ‘trunk’.:
cd .. mv mijncode_svn/ trunk/ bzr init ftp://ftp.mijnsite.nl/PROJECT cd trunk bzr add bzr commit -m "Initial commit"
Op een andere locatie verkrijg je een checkout door het volgende commando:
bzr co ftp://ftp.mijnsite.nl/PROJECT/trunk
Tags: bazaar, subversion, ubuntu
Op deze manier behoud je niet de oorspronkelijke geschiedenis van de branch in Subversion (zie oa “bzr log”). Om de geschiedenis te behouden kun je bijv iets doen als:
bzr branch http:///mijncode_svn trunk
cd trunk
bzr init-repo –rich-root-pack ftp://ftp.mijnsite.nl/PROJECT
bzr push ftp://ftp.mijnsite.nl/PROJECT/trunk