-
Dump repository Subversion
svnadmin dump /path/ke/repo/svn > nama-file-dump
-
Copy ke pc kita sendiri supaya cepat prosesnya
-
Restore lagi
svnadmin load /path/ke/repo/svn < nama-file-dump
-
Checkout
svn co file:///path/ke/repo/svn checkout-project-svn
-
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. -
Checkout lagi menggunakan
git-svn
git svn clone --stdlayout --no-metadata -A file-authors.txt file:///path/ke/repo git-svn-migrasi-project
-
Masuk ke folder hasil clone
cd git-svn-migrasi-project
-
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
-
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
-
Konversi
svn-ignore
menjadigitignore
git svn show-ignore > .gitignore git add .gitignore git commit -m "konversi svn ignore menjadi gitignore"
-
Clone supaya bersih
cd .. git clone --bare git-svn-migrasi-project nama-project.git
-
Copy ke server untuk disharing menggunakan Gitosis