Saya baru saja memperbarui repositori Subversion dari versi 1.2.3 yang lama ke 1.6.0 via svnadmin dump / load . Semua repositori lama menggunakan UUID yang sama (repositori dibuat dengan menyalin repositori templat). Saya telah mengubah UUID pada beberapa repositori baru melalui svnadmin setuuid menjadi unik. Saya tidak bisa hanya memindahkan salinan pekerjaan saya yang ada dari repositori tersebut karena UUID berbeda. Saya tahu tentang mengekspor copy pekerjaan dan memeriksa dari repositori baru, tapi saya bertanya-tanya apakah ada cara untuk hanya mengubah UUID copy pekerjaan di tempat, seperti apa yang dilakukan svnadmin setuuid untuk repositori.
Berikut adalah perintah yang melakukan trik untuk SVN 1.6 dan di bawah ini:
Ganti
old-uuid
dannew-uuid
dengan id yang sebenarnya.sumber
sed -i "" 's/old-uuid/new-uuid/'
dan berfungsi (hanya tanda kutip ganda ekstra kosong) ( ref )Jawaban Yves Martin bekerja sangat baik untuk kami pada sejumlah copy pekerjaan dengan SVN 1.8, tetapi kami akhirnya menemukan kasus-kasus di mana itu tidak berhasil.
Menjalankan perintah Yves tanpa "di mana id = 1" bekerja di semua kasus untuk kami:
Menyelidiki mengapa ini terjadi, saya menemukan bahwa beberapa UUID disimpan ketika memindahkan repositori, bertentangan dengan intuisi Yves bahwa hal ini seharusnya tidak pernah terjadi.
Entri baru ke tabel REPOSITORY ditambahkan setelah pindah daripada memperbarui yang sudah ada, menyimpan id yang bertambah dengan akar repositori baru dan UUID-nya. Jadi kasus-kasus yang gagal berfungsi dengan baik adalah copy pekerjaan yang sudah dipindahkan di masa lalu: Perintah itu tampaknya bekerja, tetapi hanya UUID awal yang diubah, bukan yang sedang digunakan.
Seseorang dapat memeriksa daftar root yang tersimpan dan UUID dalam copy pekerjaan dengan perintah ini:
Saya akhirnya akan mencatat bahwa saya harus menggunakan serangkaian tanda kutip yang berbeda untuk file baris perintah / batch Windows, sebagai berikut:
sumber
Bagian " Mengelola Gudang Repositori " di svn red-bean book mungkin memiliki jawaban yang Anda cari.
sumber