Importeer de laatste revisie van svn in bzr

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:

  1. 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.

  2. 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
  3. 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: , ,

One Response to “Importeer de laatste revisie van svn in bzr”

  1. 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

Leave a Reply