Pertanyaan svn switch error - bukan repositori yang sama


Saya baru-baru ini memindahkan server SVN dan sekarang saya sedang melakukan relokasi salinan kerja dari komputer saya ke server baru. Tetapi saya mendapatkan kesalahan yang aneh. saya lakukan:

svn switch http://99.99.99.new/svn/company/project/trunk/web

tetapi saya dapatkan

svn: 'http://99.99.99.old/svn/company/project/trunk/web'
is not the same repository as
'http://99.99.99.new/svn/company/project'

langkah itu dibuat dengan dump dan impor ... dan akar repo aktif http://99.99.99.new/svn/company/project

Apakah kalian punya ide tentang apa yang mungkin salah? Terima kasih banyak


75
2018-05-29 12:14


asal


Jawaban:


Coba gunakan

svn switch --relocate http://99.99.99.old/svn/company/project/trunk/web http://99.99.99.new/svn/company/project/trunk/web

Sebagaimana dicatat oleh Sporino di komentar, sejak Subversion 1.7, ada yang terpisah relocate perintah:

svn relocate http://99.99.99.old/svn/company/project/trunk/web http://99.99.99.new/svn/company/project/trunk/web

128
2018-05-29 12:17



Juga, di TortoiseSVN ada opsi "Relokasi", yang harus Anda gunakan dalam situasi seperti ini (bukan opsi "Beralih").


23
2018-06-24 10:47



Cara terbaik saya untuk melakukan relokasi SVN adalah ini:

svn switch --relocate $(svn info | grep ^URL | cut -f 2 --delim=' ') \
                      new_url_or_repository

Dengan cara ini, gunakan url lama yang benar dari svn info perintah, Anda yakin untuk tidak memasukkan yang salah, yang merupakan salah satu erros umum.

Jika semuanya sudah benar, Anda akan diminta dengan detail autentikasi untuk lokasi baru, jika mereka berbeda.

Setelah mengeluarkan perintah, pastikan untuk memeriksa ulang bahwa perubahan telah diterapkan dengan melihat parameter URL, menerbitkan

svn info

Setelah relokasi, perbarui copy pekerjaan Anda, untuk memastikan semuanya baik-baik saja:

svn update

2c saya ..


7
2017-11-14 16:16



Menggunakan relocate parameter baris perintah ke switch perintah.

dokumentasi sakelar svn

Kadang-kadang administrator mungkin mengubah "lokasi dasar" dari repositori Anda - dengan kata lain, isi repositori tidak berubah, tetapi URL utama yang digunakan untuk mencapai akar repositori tidak berubah. Misalnya, nama host dapat berubah, atau skema URL, atau mungkin hanya jalan yang mengarah ke repositori. Daripada checkout copy pekerjaan baru, Anda dapat memiliki perintah sakelar svn "menulis ulang" awal semua URL dalam copy pekerjaan Anda. Gunakan perintah -relocate untuk melakukan substitusi. Tidak ada isi file yang diubah, dan juga tidak ada repositori yang dihubungi. Ini mirip dengan menjalankan skrip perl di atas copy pekerjaan Anda. Svn / direktori yang menjalankan s / OldRoot / NewRoot /.


4
2018-05-29 12:19



Anda perlu menggunakan opsi --relocate:

svn switch --relocate http://99.99.99.new/svn/company/project/trunk/web

Lihat svnbook untuk lebih jelasnya.


1
2018-05-29 12:19