Saya memiliki folder "docs" di repositori Subversion yang bernama "project". Saya sampai pada kesimpulan bahwa itu harus benar-benar disimpan di bawah repositori Subversion terpisah bernama "project_docs".
Saya ingin memindahkan folder "docs" ( dan semua revisinya ) ke repositori "project_docs". Apakah ada cara untuk melakukan ini?
sumber
"C:\Program Files (x86)\VisualSVN Server\bin\svnadmin" dump c:\Repositories\MyRepository > c:\Temp\MyReository.dump
svndumpfilter memiliki kesalahan serius - jika file atau jalur disalin dari jalur yang Anda filter ke yang Anda filter, svndumpfilter tidak akan dapat mengisi riwayat dan pekerjaan itu akan gagal.
Anda dapat menggunakan svndumpfilter2 jika Anda mengalami masalah ini.
sumber
Ini dibahas dalam dokumentasi SVN. Lihat bagian Pemeliharaan Repositori di
svndumpfilter
... Ini secara khusus menjelaskan cara membuang proyek dari repositori pusat dan memindahkannya ke repositori baru yang terpisah.sumber
Saya tidak percaya Anda bisa melakukannya dari jarak jauh (yaitu, tanpa salinan lokal). Tapi ini harusnya berfungsi:
svn export
folder dari server asli, lalusvn add
ke repo baru Anda.Suka:
Sunting: Doh, ini menjatuhkan sejarah. Gunakan
svnadmin
seperti yang dijelaskan Samuel .sumber
Untuk referensi di masa mendatang:
Dokumentasi SVN dengan jelas melaporkan:
Jika Anda berencana mengedit file dump secara manual untuk menghapus direktori tingkat atas, pastikan editor Anda tidak diatur untuk secara otomatis mengonversi karakter end-of-line ke format asli (misalnya, \ r \ n ke \ n), karena konten tidak akan setuju dengan metadata. Ini akan membuat file dump tidak berguna.
Gunakan sed atau Vim untuk mengganti direktori tingkat atas, tetapi nama direktori ini juga terdapat di dalam file proyek !!!! Ini menyebabkan galat checksum load SVN.
Jadi ketika Anda melakukan operasi ini, jangan lakukan pergantian string dengan sed hanya nama path.
Ganti "Node-path: old_path" dengan "Node-path: new_path". Lihat buku SVN bab 5 "administrasi repositori" untuk lebih jelasnya.
sumber
Saya mencoba menggunakan jawaban yang diterima, tetapi saya memiliki repositori besar dan saya ingin mengekspor direktori kecil, dan saya tidak mampu untuk membuang seluruh repositori.
Jadi, saya hanya mengekspor revisi di mana direktori saya berubah (Ini mungkin tidak berfungsi jika direktori yang ingin Anda ekspor memiliki referensi ke tempat lain di repo Anda).
Anda harus mengganti URL repo Anda (
URL_to_docs
), lokasi di server (/svn/old_repo
) dan path ke dokumen di repositori (path/to/docs
)Anda dapat dengan mudah mengedit Anda
docs_only.dump
jika Anda ingin mengubah lokasi direktori doc Anda di repositori baru Anda.sumber