Lakukan perubahan ke cabang yang berbeda dari cabang yang saat ini diperiksa dengan subversi

115

Saya telah mengerjakan kode yang diperiksa dari baris pengembangan dan menemukan bahwa perubahan yang dibuat mungkin merusak perubahan dan perlu dipindahkan ke cabang percobaan sebelum melakukan ke pohon dev utama. Namun, saya tidak memiliki cabang percobaan yang diperiksa dan saya tidak ingin kehilangan perubahan yang telah dibuat.

Apakah ada cara untuk melakukan perubahan di folder kerja ke cabang yang berbeda dari yang awalnya diperiksa?

Paul Alexander
sumber

Jawaban:

129

Anda harus membuat cabang dari yang dikenal sourceURL(ini akan menjadi 'jalur pengembangan' Anda yang Anda sebutkan dalam pertanyaan) terlebih dahulu:

svn copy sourceURL branchURL

Kemudian, alihkan ke cabang itu:

svn switch branchURL

Dan lakukan perubahan Anda:

svn commit
ryanprayogo
sumber
55

Anda bisa melakukannya di TortoiseSVN seperti itu:

  • Klik kanan pada direktori tempat perubahan yang ingin Anda buat bercabang. Ini tidak boleh menjadi root dari repositori, kurangi duplikasi dengan cara itu;
  • Pilih TortoiseSVN -> " Cabang / tag ... ";
  • Setel ke URL : "svn: // host / repository / FooBar / Branch / FooBarBranchName";
  • Pastikan [*] Copy pekerjaan dipilih . Ini akan memastikan perubahan dilakukan;
  • Pesan log : "Bereksperimen dengan lalat :)";
  • Opsional: Centang [*] Alihkan copy pekerjaan ke cabang / tag baru . Ini berguna jika Anda berencana untuk terus mengerjakan cabang baru. Meskipun Anda juga dapat beralih ke sana nanti.
  • Cobalah untuk menemukan tombol OK . Petunjuk: ada di bagian bawah jendela di tengah.

Nikmati!

J Pollack
sumber
Apa yang Anda maksud dengan "Ini tidak boleh menjadi root dari repositori, kurangi duplikasi dengan cara itu"?
thekozak
Saya merekomendasikan untuk tidak memilih folder root dengan semua sub-folder yang tidak relevan yang tidak dapat diubah di cabang. Nanti akan lebih mudah untuk menggabungkan cabang (yang lebih kecil) kembali ke batang.
J Pollack
Dalam kasus saya, melakukan hanya folder itu yang menyebabkan masalah karena perangkat lunaknya juga bergantung pada superfolder. Saya pikir itulah yang paling sering terjadi. Saya pikir untuk sebagian besar kasus penggunaan lebih baik melakukan semuanya, jadi melakukan dari akar yang saya katakan disarankan.
ikku100
@ ikku100 jika tidak ada perubahan pada superfolder tersebut, apa bedanya?
simpleuser
Itu bisa karena orang-orang nanti mungkin melakukan perubahan di sana, tapi saya rasa Anda bisa memeriksa revisi superfolder yang benar dan kemudian memeriksa cabang untuk subfolder. Yang lebih merupakan pekerjaan daripada hanya melakukan dari superdir, menurut saya.
ikku100
8

Anda dapat membuat cabang baru langsung dari direktori kerja Anda dan mengalihkan direktori kerja ke cabang itu.

Perintahnya adalah svn copydansvn switch

Dima
sumber