[請益] 當SVN update後,檔案遇到三方衝突...

看板Soft_Job作者 (brotherD)時間4年前 (2019/10/05 13:58), 4年前編輯推噓3(308)
留言11則, 3人參與, 4年前最新討論串1/1
https://imgur.com/a/pPbv9EU 我update之後,有幾個衝突檔(圖一) 點開第一個衝突的檔案mac.c,竟然是三方衝突!?(圖二) 我以為衝突是發生在working copy與repository之間,為什麼是三個? 從圖二來看很清楚 可以知道最右邊的mac.c.mine是working copy,但我就不懂r2216與r2240,哪一個才是在 repository上面 所以我在該衝突檔mac.c點右鍵,選取show log,想知道在repository上面正確的版本是 2216還是2240(圖三),但發生了不知道怎麼解釋的狀況...似乎是路徑不存在嗎?(圖四) 煩請大大過目一下,指點一下小弟。謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.216.40.132 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1570255108.A.5B2.html ※ 編輯: zzss2003 (61.216.40.132 臺灣), 10/05/2019 13:58:57

10/05 14:03, 4年前 , 1F
表示你check out後有人check in啊 就自己看一下哪邊conf
10/05 14:03, 1F

10/05 14:03, 4年前 , 2F
lict手動resolve就好 要自動resolve也行
10/05 14:03, 2F

10/05 14:05, 4年前 , 3F
下次怕conflict可以先鎖起來 有人幹譙再解鎖
10/05 14:05, 3F
我能理解會發生conflict是因為我在checkout與update的這期間,有人又checkin,但我不 理解的是,為什麼會有三方衝突? 換句話說,如果我當初checkout下來的版本是N,且當前在repository上面的版本是N+2, 那麼衝突只會發生在N與N+2之間。 但是在這個情況,是三方衝突,我不了解為什麼會多出第三個版號 ※ 編輯: zzss2003 (61.216.40.132 臺灣), 10/05/2019 14:10:15

10/05 14:25, 4年前 , 4F
假設原本版號N 你在第一行改動 版號變N+2 別人在第二行
10/05 14:25, 4F

10/05 14:25, 4年前 , 5F
改動並check in版號N+1 你要check in時 repo不曉得第二
10/05 14:25, 5F

10/05 14:25, 4年前 , 6F
行到底要照N+1還是N+2 就會把N N+1 N+2全部顯示要你reso
10/05 14:25, 6F

10/05 14:25, 4年前 , 7F
lve 因為repo知道你並不是在最新版上作第一行改動
10/05 14:25, 7F

10/05 14:28, 4年前 , 8F
因為你N+2只改了第一行 但第二行跟N+1不同 這個不同不是
10/05 14:28, 8F

10/05 14:28, 4年前 , 9F
因為你改動而是你用到舊版本 repo會知道所以要你resolve
10/05 14:28, 9F
抱歉我沒辦法完全理解你想表達的意思,但我認為你想表達的是: 從SVN角度看到的版本有三個,分別是 1. 一開始我從repo checkout下來的原始版本,看起來是r2216 2. repo上面目前的最新版本,r2240 3. 我從r2216開始更改的版本,mine 所以說,SVN除了把mine跟2240的衝突呈現給我看以外,也順便把最一開始的2216版本順便 一起呈現出來 ※ 編輯: zzss2003 (61.216.40.132 臺灣), 10/05/2019 15:47:07

10/05 18:02, 4年前 , 10F
最後上的人 解決所有conflict就好了啊
10/05 18:02, 10F

10/07 07:18, 4年前 , 11F
若僅checkout, update, 沒變更worksapce的檔案就應無衝突
10/07 07:18, 11F
文章代碼(AID): #1Tc344Mo (Soft_Job)