看板 Soft_Job 關於我們 聯絡資訊
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
yamakazi: 表示你check out後有人check in啊 就自己看一下哪邊conf 10/05 14:03
yamakazi: lict手動resolve就好 要自動resolve也行 10/05 14:03
yamakazi: 下次怕conflict可以先鎖起來 有人幹譙再解鎖 10/05 14:05
我能理解會發生conflict是因為我在checkout與update的這期間,有人又checkin,但我不 理解的是,為什麼會有三方衝突? 換句話說,如果我當初checkout下來的版本是N,且當前在repository上面的版本是N+2, 那麼衝突只會發生在N與N+2之間。 但是在這個情況,是三方衝突,我不了解為什麼會多出第三個版號 ※ 編輯: zzss2003 (61.216.40.132 臺灣), 10/05/2019 14:10:15
yamakazi: 假設原本版號N 你在第一行改動 版號變N+2 別人在第二行 10/05 14:25
yamakazi: 改動並check in版號N+1 你要check in時 repo不曉得第二 10/05 14:25
yamakazi: 行到底要照N+1還是N+2 就會把N N+1 N+2全部顯示要你reso 10/05 14:25
yamakazi: lve 因為repo知道你並不是在最新版上作第一行改動 10/05 14:25
yamakazi: 因為你N+2只改了第一行 但第二行跟N+1不同 這個不同不是 10/05 14:28
yamakazi: 因為你改動而是你用到舊版本 repo會知道所以要你resolve 10/05 14:28
抱歉我沒辦法完全理解你想表達的意思,但我認為你想表達的是: 從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
v7q4: 最後上的人 解決所有conflict就好了啊 10/05 18:02
LINGZ: 若僅checkout, update, 沒變更worksapce的檔案就應無衝突 10/07 07:18