Bagaimana cara mengekspor bagian dari repositori SVN dengan dependensi?

Saya mencoba memigrasikan bagian dari repositori SVN menggunakan svnadmin dump.

Alat svndumpfilter yang disediakan tidak mengelola dependensi penyalinan/pemindahan/penggantian nama dari direktori yang tidak disertakan dalam ekspor.

Apakah ada alat yang dapat mengelola ketergantungan ini?


person fglez    schedule 03.11.2008    source sumber


Jawaban (3)


Saya menemukan skrip Python oleh Simon Tatham bernama svndumpfilter2, yang mencoba mengatasi ketergantungan sederhana (namun saya menemukan beberapa keterbatasan).

Anda juga dapat memeriksa artikel tentang migrasinya ke Subversion dan motivasi untuk naskah.

person fglez    schedule 04.11.2008
comment
Itu jawaban lama sekarang, tapi bisakah Anda mengingat batasan yang Anda temukan dengan svndumpfiler2? - person Craig; 22.11.2012
comment
Terutama terkait dengan beberapa level penyalinan, IIRC, tetapi saya berhasil mengubah skrip sesuai kebutuhan saya. - person fglez; 22.11.2012

Yang Anda maksud dengan dependensi adalah yang ditentukan oleh properti svn:external?

Jika ya, saya pikir Anda harus meneruskan ke svndumpfilter juga jalur yang dirujuk di properti. Misalnya, jika proyek Anda berada di http://host/project dan properti svn:external disetel ke http://host/dependencies Anda dapat melakukan sesuatu seperti

svndumpfilter include http://host/project http://host/dependencies < total.dump > project.dump
person Davide Gualano    schedule 03.11.2008

Anda tidak bisa menghilangkan masalah ini. Jika Anda menyalin direktori/file, Anda harus memasukkan keduanya (sumber dan tujuan) ke dalam svndumpfilter.

Namun, Anda bisa melakukan beberapa trik:

Jika Anda membuang repositori bukan dari revisi 0, tetapi katakan mis. dari revisi 100, Anda akan mendapatkan repositori baru dengan revisi 1-100 hilang. Namun, repositori tujuan Anda memiliki semua file/folder di revisi 1 sebagai repositori sumber Anda di revisi 100. Dengan cara ini Anda dapat membuang data berversi tanpa kehilangan Revisi HEAD.

Anda dapat mencoba membuang/memuat repositori sumber Anda hingga salinan pertama Anda ke dalam repositori "datar", lalu menambahkan sisa dump ke dalamnya. Dengan cara ini Anda dapat melewati revisi copy-from yang merepotkan, karena file Anda sudah berada di direktori yang sesuai (tujuan).

person Peter Parker    schedule 03.11.2008