Re: [請益] 請問大家是怎麼做依賴管理的呢?

看板 Soft_Job
作者 TonyQ (自立而後立人)
時間 2014-01-24 13:56:28
留言 7則留言 (2推 0噓 5→)

: ※ 引述《dream1124 (全新開始)》之銘言: : : → TonyQ:很想殺人。 01/24 11:58 : 原文推文串裡提到了幾個版本控制系統,似乎 TFS 最招人怨 XD : 有沒有興趣談一談 TFS ? 不管是好處還是壞處,我都很有興趣 : 我先起頭 :) : * TFS 2005 / 2008 的 branch/merge/rename 是惡夢 : 因為其內部設計的缺陷,效能一直是瓶頸,且 merge 的演算法極難維護 : 對使用者來說, merge conflict 常常多到難以處理 : 這在 TFS 2010 及之後的版本裡,從內部設計的重構,到 merge conflict 的 : auto resolution ,在效能與 usability 有大幅度的改善 : * git-tfs 有些兩頭不討好 : TFS 2013 後的版本直接支援使用 git 當版本控制系統 : Visual Studio 在 2012 後也開始提供 git client 支援,功能在慢慢增加中 : * TFS "Team Explorer" 的 GUI 感覺很頓 : 或許我是帶有偏見,偏好 CLI, 不喜歡 GUI; : TFS 的 CLI: tf.exe 用起來感覺還不錯 : Team Explorer 提供的 branch visualization 功能倒是不錯用 : * TFS 版本控制的 "workspace mapping" 觀念上手不易 : 其實,DVCS 如 git 也有它難懂的地方 : 只能多用多練習了 我來聊聊我的。我們那時候的問題主要跟專案結構也有關係。 * 第一個想殺人的點是,TFS 預設點兩下編輯會自動當你 checkout & lock , 但萬一你忘了這件事情別人想砍那個檔案或 rename 就會來找你抱怨... 弄得每次開檔讀檔做些小 test 都要緊張兮兮的。 * 這個跟專案的問題比較大, .Net MVC project 有個 csproj 檔, 會寫入所有該專案有關的 file list, 所以每次專案內檔案新增、改名、刪除檔案都會改到 csproj 檔。 這根本就是版本控制的天敵......-_- 躲無可躲避無可避,當時每天都在 csproj 撞車,想起來還是心有餘悸。 偏偏(個人覺得) 他的衝突管理介面有夠難懂,比聰明又比不上 git 聰明, 後來我改用 git-tfs 主要就是降低 merge 負擔,效果顯著。 另外就是 tfs 開 branch 跟 svn 味道有點像,都是勞師動眾, 在 git-tfs 上至少可以做到開 branch 。 git-tfs 我當時碰到的問題還是 lock issue 佔大宗, 躲的了 merge 躲不了 lock 。 另一方面我當時用 git-tfs 時其實他還在接近 preview 的階段, 小 bug 不少,得自己上奇怪的參數躲雷。 XD (約是 2012 年 7 月的事情了,我想現在應該好很多了。) ps. 我當時的環境是 MVS 2012 -- Life's a struggle but beautiful. -- ◆ From: 118.168.130.204
※ 批踢踢實業坊(ptt.cc)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1390542990.A.E01.html

leicheong:csproj那個我都是每次加一批新檔後都先checkin一次, 01/24 21:26

leicheong:之後再把那些檔案重新checkout來迴避的. 01/24 21:27

leicheong:就Entity Framework那堆POCO class重整時比較麻煩, 每次 01/24 21:27

leicheong:update from database時都要先問有沒有人在改或者有 01/24 21:28

leicheong:table/SP需要順道加進去, 加完之後編一次能過就checkin 01/24 21:29

leicheong:再叫全team所有人get latest... 01/24 21:30

Ageis:最恐怖的是有人改完程式忘了 unlock 然後隔天休假... 01/25 12:38

您可能感興趣