Bagaimana cara membuat cabang di SVN?
sumber
Bagaimana cara membuat cabang di SVN?
Percabangan di Subversion difasilitasi oleh fasilitas penyalinan yang sangat sangat ringan dan efisien.
Percabangan dan penandaan secara efektif sama. Cukup salin seluruh folder di repositori ke tempat lain di repositori menggunakan svn copy
perintah.
Pada dasarnya ini berarti bahwa dengan konvensi apa artinya menyalin folder - apakah itu cadangan, tag, cabang atau apa pun. Bergantung pada bagaimana Anda ingin memikirkan hal-hal (biasanya tergantung pada alat SCM mana yang telah Anda gunakan di masa lalu), Anda perlu mengatur struktur folder dalam repositori Anda untuk mendukung gaya Anda.
Gaya umum adalah untuk memiliki sekelompok folder di bagian atas repositori Anda disebut tags
, branches
, trunk
, dll - yang memungkinkan Anda untuk menyalin Anda seluruh trunk
(atau sub-set) ke dalam tags
dan / atau branches
folder. Jika Anda memiliki lebih dari satu proyek, Anda mungkin ingin meniru struktur semacam ini di bawah setiap proyek:
Mungkin perlu waktu untuk membiasakan diri dengan konsep - tetapi berhasil - pastikan Anda (dan tim Anda) sudah jelas tentang konvensi yang akan Anda gunakan. Ini juga merupakan ide yang baik untuk memiliki konvensi penamaan yang baik - sesuatu yang memberi tahu Anda mengapa cabang / tag dibuat dan apakah itu masih sesuai - pertimbangkan cara pengarsipan cabang yang sudah usang.
svn cp
menggunakan salinan murah, itu tidak menyalin file yang sebenarnya selama percabangan. Lihat svnbook.red-bean.com/en/1.1/ch04s02.htmlBuat cabang baru menggunakan
svn copy
perintah sebagai berikut:sumber
svn switch svn+ssh://host.example.com/repos/project/branches/NAME_OF_BRANCH .
(jika Anda ingin mengganti checkout saat ini ke cabang baru) atausvn checkout svn+ssh://host.example.com/repos/project/branches/NAME_OF_BRANCH
(jika Anda ingin memiliki cabang baru di direktori terpisah) untuk mulai bekerja pada cabang yang baru dibuat.--parents
opsi dengansvn copy
!-m
opsi, ia mengatakan sepertisvn: E155010: Path '/home/constantine/someDirectory/svn+ssh:https:/myhost.com/svn/dir1/dir2/trunk/dir3/dir4/dir5' does not exist
. Dengan-m
itu dikatakansvn: E205009: Local, non-commit operations do not take a log message or revision properties
. (Saya mengganti alamat, tetapi mereka memang ada, kecuali, ofc, direktori cabang baru, dan seluruh path + url yang SVN karena beberapa alasan digabungkan dalam kesalahan) .Jika repo Anda tersedia melalui https, Anda dapat menggunakan perintah ini untuk ...
sumber
Jika Anda memiliki beberapa perubahan lokal di trunk kemudian gunakan
Rsync
untuk menyinkronkan perubahansumber
rsync
cara ini.svn cp
juga akan menyalin perubahan lokal apa pun.Misalkan Anda ingin membuat cabang dari nama trunk (sebagai "TEST") kemudian gunakan:
sumber
Biasanya Anda akan menyalinnya ke svn + ssh: //host.example.com/repos/project/branches/mybranch sehingga Anda dapat menyimpan beberapa cabang di repositori, tetapi sintaksis Anda valid.
Berikut ini beberapa saran tentang cara mengatur tata letak repositori Anda .
sumber
Tip teratas untuk pengguna SVN baru; ini mungkin membantu sedikit dengan mendapatkan URL yang benar dengan cepat.
Jalankan
svn info
untuk menampilkan informasi yang berguna tentang cabang yang saat ini ditutup.URL seharusnya (jika Anda menjalankan svn di folder root) memberi Anda URL yang harus Anda salin.
Juga untuk beralih ke cabang yang baru dibuat, gunakan
svn switch
perintah:sumber
Jika Anda bahkan berencana untuk menggabungkan cabang Anda, saya sangat menyarankan Anda melihat ini:
Svnmerge.py
Saya mendengar Subversion 1.5 membangun lebih banyak pelacakan gabungan, saya tidak punya pengalaman dengan itu. Proyek saya ada di 1.4.x dan svnmerge.py adalah penyelamat hidup!
sumber
sumber
Di bawah ini adalah langkah-langkah untuk membuat cabang dari trunk menggunakan TortoiseSVN di mesin windows. Ini jelas membutuhkan klien TortoiseSVN untuk diinstal.
sumber