Saya belum menemukan dokumentasi tentang fitur ini, tetapi sepertinya konfigurasi git svn mendukung banyak entri pengambilan. Dengan cara ini Anda juga dapat menambahkan cabang secara terpisah tanpa perlu menambahkan entri repositori svn jarak jauh lain ke konfigurasi Anda atau menggunakan wildcard untuk mendapatkan semua cabang direktori tertentu.
Asumsikan bahwa pohon SVN Anda benar-benar jahat memiliki banyak cabang tanpa logika bagaimana mereka berada, misalnya memiliki cabang dan sub-direktori yang mengandung lebih banyak bercabang.
yaitu
trunk
branches
-> branch1
-> sub-dir1
-> branch2
-> branch3
-> sub-dir2
-> branch4
-> sub-dir3
-> branchX
<... hundreds more ...>
dan Anda hanya ingin memilih sendiri beberapa cabang yang akan dimasukkan ke repositori git Anda.
Anda mungkin pertama-tama init repositori Anda dengan hanya trunk tanpa cabang tambahan:
git svn clone -r 10000:HEAD https://svn.com/MyRepo myrepo --prefix=svn/ --trunk=trunk
Setelah itu Anda akan melihat konfigurasi berikut:
localhost: elhigu$ git config --get-regexp "svn-remote."
svn-remote.svn.url https://svn.com/MyRepo
svn-remote.svn.fetch trunk:refs/remotes/svn/trunk
kapan pun Anda ingin mengambil cabang baru dari MyRepo Anda bisa menambahkan entri ambil baru ke konfigurasi dengan:
git config --add svn-remote.svn.fetch branches/sub-dir2/branch4:refs/remotes/svn/branches/sub-dir2/branch4
Atau Anda dapat mengedit konfigurasi yang sama di .git / config
Untuk mengambil cabang baru setelah menambahkannya ke konfigurasi cukup jalankan:
git svn fetch -r 10000:HEAD
[Sunting] Kadang-kadang tampaknya perlu menjalankan fetch dengan --all parameter untuk mengambil cabang yang baru ditambahkan:
git svn fetch --all -r 10000:HEAD