從源代碼控制的角度來看,用戶對TFS和SVN的真正區別是什麼?從源代碼控制的角度來看,TFS操作與SVN相比如何?
例如:在SVN我們有基本的命令:
- 退房
- 出口
- 提交
- 更新
- 刪除
- 還原
而且每個文件都有自己的修訂版本號。
TFS是否也有這些命令?每個文件都有自己的修訂號?
請僅從源代碼控制角度回答。錯誤跟蹤,ALM和定價在這個問題上沒有受到威脅。
從源代碼控制的角度來看,用戶對TFS和SVN的真正區別是什麼?從源代碼控制的角度來看,TFS操作與SVN相比如何?
例如:在SVN我們有基本的命令:
而且每個文件都有自己的修訂版本號。
TFS是否也有這些命令?每個文件都有自己的修訂號?
請僅從源代碼控制角度回答。錯誤跟蹤,ALM和定價在這個問題上沒有受到威脅。
我認爲主要的區別是,Subversion支持(只)一個真正的樂觀鎖定策略,這意味着你通常彼此並行工作,第二個(和後來的)必須合併他們的變化到其他人。
在TFS中,您必須先結帳,即保留文件以進行更改,以完成任何工作。這導致更加悲觀的鎖定策略。
是的,一個很大的區別是,脫機工作不是TFS的選項,並且完全受Subversion支持。
TFS在我看來更好地支持分支和合並(至少在這裏UI有很大的幫助)。
當提交/簽入時,TFS和Subversion具有相似含義的不同術語。(以下內容來自同時使用這兩種工具的同事。)
缺省值:修訂: 的SVN提交操作發佈改變到任何數量的文件和目錄,爲單一的原子交易 - >http://svnbook.red-bean.com/
缺省值:變更: 變更集是一個邏輯容器其中Team Foundation存儲與單個簽入操作有關的所有內容,具體爲:文件和文件夾修訂 - >http://msdn.microsoft.com/en-us/library/ms181408%28v=vs.80%29.aspx
簽入期間,每個文件都與CheckIn編號關聯(在S中計數ubversion)。如果您瀏覽文件夾/文件的歷史記錄,則可以將歷史記錄看成具有列的表格:changeSet Numbers/date/comment從我的角度來看,一個很好的功能是@Annotate函數。使用此功能,您可以在LOC級別上看到一個文件的更改集(第2-5行由changset 2更改「添加日誌記錄,第10行由changset 5更改」檢查空值「;-))
+1,謝謝,此編輯文件之前的強制檢出/保留加上NO離線編輯是我想知道的那種差異,但是這些文件是否也有版本號,比如SVN?我可以通過某種方式查詢TFS來確定當前的數量 一份文件 ? – Machado
我已將信息添加到類似的術語修訂和更改集。 – mliebelt
「在TFS中,您必須先結帳,即保留文件以進行修改,從而完成任何工作,這會導致更加悲觀的鎖定策略。」 - 這並不妨礙多人編輯相同的文件,除了無法合併的二進制文件 「是的,有一大區別是,離線工作不是TFS的選項,完全支持顛覆。」 - 在2008+錯誤:http://stackoverflow.com/questions/313653/work-offline-in-team-foundation-server –
您列出的命令由所有源控制系統支持,因爲它們是任何SC必須具有的絕對最小值,甚至可以被視爲功能。
其實只有兩件事情之間決定時要考慮的,其中大部分被明確排除在你的問題......
的一點是,如果你煮TFS到只是源代碼控制系統那麼差異可以忽略不計。僅供參考,我已經廣泛使用(每年超過5年),目前只使用TFS,因爲附加功能被封裝在一個包中。
在SVN ,版本庫有一個版本號,而不是每個文件 –
你的意思是每個文件都有它自己的版本號在SVN中,同一個commit中的所有文件共享同一個版本號 –
@Rob,Albin比我強:提交的每組文件具有相同的修訂版本號,如果您提交了一個文件,則會爲其分配修訂版號 – Machado