Migrering af Subversion projekt til Git

Hvis du ønsker at flytte et Subversion projekt til Git. Kan du gøre følgende:

  1. Check Subversion projektet ud.
  2. Gå ind i roden af projektet
  3. Kør følgende for at hente ‘commit authors’ ud fra log beskeder. Så kan vi benytte det ved import til Git og bevare historikken.
    svn log -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2" = "$2" <"$2">"}' | sort -u > authors-transform.txt
    
  4. Regiger filen authors-transform.txt, så informationerne er korrekte på brugerne.
    Formatet for hver linie er:

    rs = Ryan Skov (rs@min-mail-kan-misbruges-så-vises-ikke.dk)
    
  5. Benyt Git til at clone subverion projektet igen.
    git svn clone [SVN repo URL] --no-metadata -A authors-transform.txt --stdlayout ../temp
    

    Dette vil lave en ny mappe i parrent som er konverteret til Git.

  6. Overfør evt. svn:ignore opsætning til Git
    cd ../temp
    git svn show-ignore > .gitignore
    git add .gitignore
    git commit -m 'Konverert git ignore fra svn'
    
  7. Jeg beytter nogle remore Git repos, så der skal lige tilføjes en remote origin:
    git remote add origin rs@git.min-mail-kan-misbruges-så-vises-ikke.dk:projekt.git
    
  8. Push
    git push -u origin master
    

Så skal du bare kontrollere om der ikke er kommet noget data i dit remove Git repo.

Leave a comment

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *

This site uses Akismet to reduce spam. Learn how your comment data is processed.