Skip to content

Latest commit

 

History

History
67 lines (51 loc) · 1.7 KB

migrasi-svn-git.md

File metadata and controls

67 lines (51 loc) · 1.7 KB

Langkah Migrasi dari Subversion ke Git

  1. Dump repository Subversion

    svnadmin dump /path/ke/repo/svn > nama-file-dump
  2. Copy ke pc kita sendiri supaya cepat prosesnya

  3. Restore lagi

    svnadmin load /path/ke/repo/svn < nama-file-dump
  4. Checkout

    svn co file:///path/ke/repo/svn checkout-project-svn
  5. Generate authors file

    #!/usr/bin/env bash
    authors=$(svn log -q | grep -e '^r' | awk 'BEGIN { FS = "|" } ; { print $2 }' | sort | uniq)
    for author in ${authors}; do
      echo "${author} = NAME <USER@DOMAIN>";
    done

    Simpan hasilnya ke file-authors.txt. Ini akan kita gunakan di langkah selanjutnya.

  6. Checkout lagi menggunakan git-svn

    git svn clone --stdlayout --no-metadata -A file-authors.txt file:///path/ke/repo git-svn-migrasi-project
  7. Masuk ke folder hasil clone

    cd git-svn-migrasi-project
  8. Konversi branch svn menjadi branch git

    git branch -r | grep -v tags | sed -rne 's, *([^@]+)$,\1,p' | while read branch; do echo "git branch $branch $branch"; done | sh
  9. Konversi tag svn menjadi tag git

    git branch -r | sed -rne 's, *tags/([^@]+)$,\1,p' | while read tag; do echo "git tag $tag 'tags/${tag}^'; git branch -r -d tags/$tag"; done | sh
  10. Konversi svn-ignore menjadi gitignore

    git svn show-ignore > .gitignore
    git add .gitignore
    git commit -m "konversi svn ignore menjadi gitignore"
  11. Clone supaya bersih

    cd ..
    git clone --bare git-svn-migrasi-project nama-project.git
  12. Copy ke server untuk disharing menggunakan Gitosis