Struktur SVN saya saat ini:
Path: .
URL: svn://someaddress.com.tr/project
Repository Root: svn://someaddress.com.tr
Repository UUID: -------------------------------------
Revision: 10297
Node Kind: directory
Schedule: normal
Last Changed Author: ----
Last Changed Rev: 9812
Last Changed Date: 2010-12-20 17:38:48 +0100 (Mon, 20 Dec 2010)
Tetapi proyek kami (karenanya layanan SVN) akan berfungsi alih- sub.someaddress.com.tr
alih someaddress.com.tr
(someaddress.com.tr akan segera dialihkan ke tempat lain).
Karena ini adalah server pengembangan, saya tidak yakin tentang apa yang harus dilakukan. Apakah saya perlu menggunakan svn switch
atau svn switch --relocate
? Juga, apakah saya perlu mengganti svn root someaddress.com.tr atau cabang proyek someaddress.com.tr/project ?
sumber
svn switch --relocate OLD NEW
switch
perintah semua dokumentasi yang saya temukan online adalah untuk versi yang lebih baru.Mengupas URL sebelum dan sesudah mungkin memberi Anda ketenangan pikiran:
Dan memeriksa versi Anda (menjadi> 1.7) untuk memastikan,
svn relocate
adalah hal yang benar untuk digunakan:Terakhir, menambahkan di atas, jika perubahan url repositori Anda juga melibatkan perubahan protokol, Anda mungkin perlu menyatakan url sebelum dan sesudah ( lihat juga di sini )
Semua dalam satu baris tentunya, setelah itu dapatkan perasaan nyaman bahwa semua berjalan dengan lancar:
Jika Anda mau, sedikit lebih percaya diri, URL repo svn baru terhubung dan berfungsi:
sumber
Dalam kasus saya,
svn relocate
perintah (dan jugasvn switch --relocate
) gagal karena beberapa alasan (mungkin repo tidak dipindahkan dengan benar, atau sesuatu yang lain). Saya menghadapi kesalahan ini:Saya tidak ingin mengunduh ulang seluruh repositori, jadi saya menemukan solusi. Ini berfungsi dalam kasus saya, tetapi secara umum saya dapat membayangkan banyak hal dapat rusak (jadi buat cadangan copy pekerjaan Anda, atau siap untuk melakukan checkout ulang seluruh repo jika terjadi kesalahan).
Alamat repo dan UUID-nya disimpan dalam
.svn/wc.db
file database SQLite di copy pekerjaan Anda. Cukup buka database (misalnya di SQLite Browser), telusuri tabel REPOSITORY, dan ubah nilai kolomroot
danuuid
ke yang baru. Anda dapat menemukan UUID dari repo baru dengan menerbitkansvn info NEW_SERVER
.Sekali lagi, perlakukan ini sebagai metode pilihan terakhir.
sumber
Jika Anda ingin berkomitmen untuk Repo kosong baru, Anda dapat melakukan checkout Repo kosong baru dan berkomitmen ke repo jarak jauh baru.
chekout Repo kosong baru tidak akan menghapus file lokal Anda.
coba ini: misalnya, url repo jarak jauh: https://example.com/SVNTest
cd [YOUR PROJECT PATH] rm -rf .svn svn co https://example.com/SVNTest ../[YOUR PROJECT DIR NAME] svn add ./* svn ci -m"changed repo url"
sumber