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

看板Soft_Job作者 (Zzz...)時間12年前 (2014/01/24 14:35), 編輯推噓3(3013)
留言16則, 4人參與, 最新討論串4/12 (看更多)
※ 引述《TonyQ (自立而後立人)》之銘言: : ※ 引述《AmosYang (Zzz...)》之銘言: : : 原文推文串裡提到了幾個版本控制系統,似乎 TFS 最招人怨 XD : : 有沒有興趣談一談 TFS ? 不管是好處還是壞處,我都很有興趣 : 我來聊聊我的。我們那時候的問題主要跟專案結構也有關係。 : * 第一個想殺人的點是,TFS 預設點兩下編輯會自動當你 checkout & lock , : 但萬一你忘了這件事情別人想砍那個檔案或 rename 就會來找你抱怨... : 弄得每次開檔讀檔做些小 test 都要緊張兮兮的。 印像中, * auto checkout 應該是 client 端 (Visual Studio) 的設定 * auto lock 有兩個可能 1. 一些 binary 類的檔,如 .exe .jpg 這類的 一般來說不會有 merge 的需要, 所以 *可* 設定為 auto lock 來避免同時多人改動檔案 2. 這應該是 TFS Team Project level 的設定 且預設設定裡沒有把常見的文字檔設為 auto lock 有可能是 Project Admin 設爽的 以為通通 auto lock 起來就不用擔心 conflict 了 :D : * 這個跟專案的問題比較大, .Net MVC project 有個 csproj 檔, : 會寫入所有該專案有關的 file list, : 所以每次專案內檔案新增、改名、刪除檔案都會改到 csproj 檔。 : 這根本就是版本控制的天敵......-_- : 躲無可躲避無可避,當時每天都在 csproj 撞車,想起來還是心有餘悸。 這的確很慘,無解 MSBuild.exe 背後有它自己的黑歷史與沉重的包袱, 一言難盡 :| : 偏偏(個人覺得) 他的衝突管理介面有夠難懂,比聰明又比不上 git 聰明, 是指 merge tool 的介面還是 conflict list 的介面 (還是都很難懂? :D) : 後來我改用 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 感謝回應 orz -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 98.26.14.35

01/24 14:41, , 1F
1. 你猜對了,主要是圖檔。
01/24 14:41, 1F
剛查了一下,可以在 Team Project settings \ Source Control 裡決定 要不要 auto lock; 或許可以跟你的 project admin 談談看 :)

01/24 14:41, , 2F
2.我是說 conflict 時候用來解決 conflict 的工具
01/24 14:41, 2F
tf diff /configure 可以改預設的 diff & merge 工具; 可以改成你用起來順手的 至於那個 conflict 列表的介面則無法改 :o

01/24 14:42, , 3F
3. 就跟 svn 一樣 branch 就得開獨立資料夾,切換 branch
01/24 14:42, 3F

01/24 14:42, , 4F
得換開另一個 branch 後的專案,而且要 merge 也很麻煩
01/24 14:42, 4F
了解 就我看來,TFS 與 git 這兩種設計各有各的好處 TFS 是以 path namespace 為基礎, 加上中央主機的架構使得“管理+控制”很方便 例如, 可以很簡單地設定存取權限; git 則正好相反; 我自己是覺得兩種都蠻好用的 :D ※ 編輯: AmosYang 來自: 98.26.14.35 (01/24 15:21)

01/24 14:44, , 5F
不過當時 branch merge 不是我的工作,所以我沒痛到(煙
01/24 14:44, 5F
我覺得 merge 還好,除非是隔代 merge …

01/24 15:04, , 6F
OK啦...我現在遇到的天兵是複製專案到另外一個目錄後跟
01/24 15:04, 6F

01/24 15:04, , 7F
我說這叫branch (茶)
01/24 15:04, 7F
這還有得救,可以 tf merge /baseless 再續前世緣

01/24 15:17, , 8F
樓上.習慣就好.畢竟這座島上不知道分散式版控的 還不少呢= =
01/24 15:17, 8F
※ 編輯: AmosYang 來自: 98.26.14.35 (01/24 15:27)

01/24 15:49, , 9F
他其實是另外duplicate了一個repo...
01/24 15:49, 9F

01/24 15:51, , 10F
所以TFS上現在有個proj和proj1兩個目錄...kerker
01/24 15:51, 10F

01/24 21:33, , 11F
其實TFS不一定要跑project based模式, 也可以當成
01/24 21:33, 11F

01/24 21:34, , 12F
website在source control explorer把資料夾的內容
01/24 21:34, 12F

01/24 21:34, , 13F
全部checkin吧...
01/24 21:34, 13F

01/24 21:35, , 14F
不過在VS2005攪過這套之後一直在用VSS->TFS的人都很
01/24 21:35, 14F

01/24 21:36, , 15F
不習慣, 才再度改成以csproj/vbproj這些專案檔用基準
01/24 21:36, 15F

01/24 21:37, , 16F
的做法.
01/24 21:37, 16F
文章代碼(AID): #1IuWdDGx (Soft_Job)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 12 篇):
文章代碼(AID): #1IuWdDGx (Soft_Job)