Apa yang terjadi di sini adalah sebagai berikut: Anda membuat file baru di bagasi Anda, kemudian Anda menggabungkannya ke cabang Anda. Dalam gabungan, file ini juga akan dibuat di cabang Anda.
Ketika Anda menggabungkan cabang Anda kembali ke bagasi, SVN mencoba melakukan hal yang sama lagi: Ia melihat bahwa file dibuat di cabang Anda, dan mencoba membuatnya di bagasi Anda di komit gabungan, tetapi sudah ada! Ini menciptakan konflik pohon.
Cara untuk menghindari ini, adalah dengan melakukan penggabungan khusus, reintegrasi . Anda dapat mencapai ini dengan --reintegrate
saklar.
Anda dapat membaca tentang ini di dokumentasi:
http://svnbook.red-bean.com/en/1.7/svn.branchmerge.basicmerging.html#svn.branchemerge.basicmerging.reintegrate
Saat menggabungkan cabang Anda kembali ke trunk, matematika yang mendasarinya sangat berbeda. Cabang fitur Anda sekarang merupakan mishmash dari kedua perubahan batang yang digandakan dan perubahan cabang pribadi, sehingga tidak ada rentang revisi yang berdekatan dan mudah untuk disalin. Dengan menentukan opsi --reintegrate, Anda meminta Subversion untuk dengan hati-hati mereplikasi hanya perubahan yang unik untuk cabang Anda. (Dan sebenarnya, ia melakukan ini dengan membandingkan pohon trunk terbaru dengan pohon cabang terbaru: perbedaan yang dihasilkan adalah persis perubahan cabang Anda!)
Setelah mengintegrasikan kembali cabang, sangat disarankan untuk menghapusnya, jika tidak, Anda akan terus mendapatkan treeconflicts setiap kali Anda bergabung ke arah lain: dari batang ke cabang Anda. (Untuk alasan yang persis sama seperti yang dijelaskan sebelumnya.)
Ada cara untuk mengatasi hal ini, tetapi saya tidak pernah mencobanya. Anda dapat membacanya di posting ini: Reintegrasi cabang subversi di v1.6