簡體   English   中英

更新到舊版本時Subversion中的沖突。 問題似乎是我幾天前做的合並。 我應該避免這種合並嗎?

[英]Conflicts in Subversion when updating to old revision. The problem seems to be a merge -r I did some days ago. Should I have avoided this merge?

我已經在Subversion的一個分支上編寫了幾天的代碼。 今天我決定更新到一個舊版本,埋沒了30個版本之前。

奇怪的是,我的一個文件中出現了沖突。 我看到這個分支出現問題的唯一原因就是我幾天前做的merge -r - 讓我(當時)回到原來的版本。

所以,假設問題是merge -r ,我有兩個問題:

  1. 我做了-r合並,以便我可以回到一個舊版本,然后提交它,這樣我就可以從那時開始工作了(我基本上想放棄我當時的X最后一次提交)。 這樣做 - 合並正確的方法? 我應該創建另一個分支嗎? 這當然是我用git的邏輯分支做的,因為那樣會更清潔,但話說再說一遍,我不想用我的分支“泛濫”這個顛覆回購。 也許我可以用舊版本創建一個分支並刪除這個?

  2. 假設我現在要糾正這些沖突。 回到此修訂版時,我最初的想法是再次進行-r合並。 因此,如果在一周內我決定再次回來,我會再次發生沖突,對吧? 如何避免這種循環?

這個問題也許可以用另一種方式表達出來。 在進行“嘗試和錯誤”編碼時(我的意思是我必須多次“回來”),我應該如何組織我的Subversion回購?

謝謝

看起來你需要從一個特定的修訂版中進行一組修改,然后丟棄整套修訂版,並重新開始幾次。 如果是這種情況,那么我建議為每個“嘗試”創建一個新分支,並刪除整個分支以丟棄修改,或者重新集成它,然后在您對代碼感到滿意時將其刪除。 我認為任何其他方法都會給你“合並頭痛”,但當然我可能錯了。

請記住,svn的反向合並不是“回滾並丟棄”您的修訂版,它會將您對這些文件所做的更改撤消到工作副本,直到文件看起來像所需的修訂版。 我從來沒有聽說過它會產生沖突(除非你的WC中有一個本地修改但尚未提交?)

問題可能是看看沖突是什么,看看你是否可以分辨它出現的地點和原因。

使用merge -r是回滾到先前版本的有效方法,但創建新分支同樣有效 - 這僅取決於您如何組織回購以及擁有多少分支。 如果您要刪除30個修訂版,那么創建新分支並刪除舊分支可能會更清晰一些。

如果你做了很多嘗試+錯誤編碼,DVCS對你來說可能是一個更好的選擇 - git允許你在本地登記多次,並在上游推送1個變更集,放棄所有'試用'簽到(有效滾動)它們變成了一個變化),但就像我說的那樣,我們從來沒有回滾問題,即使是二進制文件也是如此,因此請查看沖突是什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM