Pernah menggunakan cabang SVN dengan Tortoise 1.6. Saya telah secara berkala menggabungkan batang ke cabang untuk tetap up to date.
Hari ini, saya pikir saya akan mengintegrasikan kembali cabang. Saya memilih "Reintegrate a branch" dari Tortoise dan menerima pesan kesalahan berikut:
Reintegrate hanya dapat digunakan jika revisi 4709 hingga 5019 sebelumnya digabungkan dari http://subversion/svn/saxdev/trunk
ke sumber reintegrate, tetapi ini tidak terjadi
Kemudian terdaftar sekitar 50 file dengan deskripsi seperti ini:
Error: branches/qst/kobalt/sax/businessobjects/util/HistoryParent.java
Error: Missing ranges: /trunk/kobalt/sax/businessobjects/util/HistoryParent.java:4709-5018
Revisi 5019 adalah revisi kepala. Revisi 4737 adalah revisi ketika saya membuat cabang.
Saya mendapatkan ini dari log untuk revisi 4737
Tindakan: Menambahkan Jalur: / cabang / qst Salin dari jalur: / trunk
Bagi saya, pesan kesalahan itu mengatakan bahwa cabang itu tidak aslinya dari trunk, yang tidak benar.
Ada ide?
sumber
Jawaban:
Jika Anda bekerja pada cabang dan tetap memperbaruinya dengan yang lain bekerja, Anda mungkin akan bingung ketika Anda membuat copy trunk yang berfungsi dan berusaha mengintegrasikan kembali cabang Anda jika Anda mendapatkan pesan seperti ini:
Saya telah melihat sejumlah solusi di Google tetapi mereka membuat saya gugup sebagai 'peretasan'. Untuk mengatasinya saya memutuskan untuk melakukan apa yang mengisyaratkan subversi dalam pesan. Saya kembali ke cabang saya dan secara eksplisit menggabungkan revisi yang ditentukan:
Setelah saya melakukan ini, saya dapat kembali ke copy trunk yang berfungsi dan mengintegrasikan kembali cabang tanpa masalah.
saya harap ini membantu
sumber
svn merge
dari bagasi.[[Meskipun solusi saya telah bekerja untuk saya di masa lalu, itu dapat menyebabkan hasil yang tidak pantas dengan klien SVN modern. Dalam kasus kami kesalahan gabungan tampaknya merupakan produk sampingan dari otomatisasi yang membingungkan sejarah SVN kami dan bukan aktivitas nyata. Saya meninggalkan ini di sini untuk anak cucu tetapi tolong pertimbangkan jawaban yang diterima sebagai gantinya. ]]
Solusi bagi saya adalah menghapus
svn:mergeinfo
properti yang entah bagaimana bisa dilampirkan ke file individual dalam hierarki.Untuk menemukan file dengan informasi mergeinfo yang dapat Anda lakukan:
Kemudian Anda dapat menghapus properti mergeinfo:
Setelah saya menyelesaikan ini, gabungan saya dieksekusi dengan baik.
sumber
Jika Anda mencoba mengintegrasikan kembali cabang Anda ke trunk dan Anda melihat kesalahan seperti ini dari TortoiseSVN:
Klik pada teks kesalahan dan tekan CTRL+ A, CTRL+ Cuntuk menyalin semua teks.
Rekatkan teks ke dalam string di sini skrip PowerShell ini:
Script mengekstrak path relatif file dengan masalah mergeinfo dan menampilkan daftar perintah untuk memperbaiki masing-masing.
Anda mungkin harus mengubah
'userdata'
nilai yang sesuai dengan struktur repositori Anda.Jalankan skrip untuk menampilkan perintah yang Anda butuhkan untuk menghapus mergeinfos yang bermasalah.
Dalam contoh ini, skrip akan menghasilkan output ini:
Pada prompt perintah Anda dapat menavigasi ke basis cabang (myproject) dan mengeksekusi perintah untuk menghapus masalah mergeinfos.
Anda akan melihat output seperti ini:
Seperti dalam jawaban Gray , sekarang Anda harus melakukan perubahan pada cabang dan mencoba untuk mengintegrasikan kembali. Kali ini seharusnya bekerja!
sumber
\s+
untuk membuatnya bekerja untuk Anda?+
yang dibutuhkan untuk itu bekerja untuk saya. Dalam kasus saya, beberapa baris memiliki dua ruang dan yang lain memiliki tiga, jadi dukungan untuk jumlah ruang variabel diperlukan. Saya tidak yakin mengapa saya mengubah ruang menjadi\s
; yang mungkin tidak diperlukan, maaf untuk bagian itu!+
karena bermanfaat bagi Anda.Sebenarnya saya memperbaikinya menggunakan opsi "menggabungkan dua cabang yang berbeda" untuk menggabungkan batang dan cabang ke dalam copy pekerjaan saya. Kemudian saya melakukan itu ke bagasi.
Menakjubkan
sumber
Sesuatu yang bekerja untuk saya di tortoise SVN: alih-alih menggabungkan semua revisi dari cabang, pilih rentang tertentu dan pilih secara manual semua revisi Anda dari cabang.
sumber
Lakukan persis seperti yang dikatakan SVN kepada Anda.
sumber
Lihat juga jawaban saya di sini untuk pengalaman saya dengan kasus serupa. Saya tidak yakin apakah ini sumber masalah Anda, tetapi sepertinya Subversion 1.8 memiliki masalah dengan mergeinfo ketika dua perubahan saling membatalkan.
sumber
Saya mengalami masalah ini. Saya melakukan log SVN di cabang saya untuk menemukan apakah saya telah menggabungkan batang ke cabang saya.
Saya mencatat semua revisi.
Saya kemudian melakukan penggabungan cabang saya ke trunk dengan menentukan revisi secara manual. Saya menentukan semua rentang untuk mengecualikan revisi jika saya menggabungkan trunk. Saya berhasil menggabungkan cabang saya.
Saya harus melakukan beberapa reverts pada mergeinfo, tetapi kode saya digabung.
Saya segera menghapus cabang saya.
sumber
Saya mendapatkan kesalahan ini setelah menggunakan checkout sebagian cabang. Saya selalu memperbarui cabang dengan bagasi tetapi revisi bagasi untuk bagian-bagian dari cabang yang tidak diperiksa tentu saja tidak diperbarui. Cara mengatasinya adalah dengan melakukan checkout penuh cabang dan kemudian menggabungkan semua perubahan trunk. Setelah melakukan ini ke cabang saya bisa menggabungkan cabang ke bagasi dengan sukses.
sumber
Punya masalah ini
klik kanan pada cabang tempat Anda ingin menggabungkan (tetapi mendapatkan pesan ini) dan pilih opsi "perbarui untuk revisi" dan kemudian pada dialog yang terbuka (tangkapan layar di bawah) pilih revisi tersebut dan klik ok - setelah semua revisi sebelumnya digabungkan, Anda tidak akan menerima pesan ini
Menambahkan ini di sini untuk membantu seseorang yang menggunakan Tortoise SVN
sumber
Saya tahu ini adalah posting lama, tetapi saya kesulitan untuk menyelesaikan masalah ini juga sampai saya menemukan bahwa file yang tercantum dalam pesan kesalahan memiliki masalah properti SVN.
Saya melakukan klik kanan pada file yang bermasalah: TortoiseSVN> Properties, dan menemukan bahwa file tersebut memiliki dua svn: mergeinfo, dan salah satunya tidak diwarisi dari data. Jadi saya menghapus mergeinfo itu.
Saya menggunakan TortoiseSVN 1.12.2, Build 28653 - 64 Bit.
sumber