2009-11-09 51 views
2

所以,我有一個asp.net mvc應用程序正在由不同能力的多個開發人員共同完成。這是我們第一次使用.NET開發mvc應用程序。我們的應用程序沒有太多的單元測試...ASP.NET MVC:它應該如何與顛覆一起工作?

我們遇到的問題是試圖保持對方不覆蓋對方的變化。例如:

  1. 兩個開發人員都在應用程序的工作和Jon(化名)進行了更改控制器,編譯一個新的DLL,並檢查他的東西(包括控制器和DLL )我們的svn系統會自動更新我們的DEV服務器,其中包含Jon剛纔所做的更改。

  2. 克萊德(也不是真名)也在同一時間做出了改變,但沒有用Jon的更改更新代碼,並提交了一個新的DLL,從而「忘記」Jon的改變。

發生這種情況很多。我所問的問題更多的是一個工作流問題 - 我們如何解決這個問題?這只是克萊德需要更小心的問題嗎?任何人都可以推薦一個體面的流程供我們使用?

回答

7

你不檢查DLL的。從Subversion整個文件夾中排除bin文件夾。這是重要的.cs文件,並且這些文件將在每臺檢測Subversion代碼的計算機上進行本地編譯。如果您的部署腳本不編譯代碼,但只是一個簡單的xcopy語句,則需要將csc引入到腳本中,或者實現像TeamCity這樣的持續集成系統。

+0

確定 - 這使得有很大的意義。我們現在只是複製文件,但是按照你所說的去做就更有意義了 - 謝謝! – onekidney 2009-11-09 15:27:39

1

您描述的問題已被顛覆處理。當克萊德嘗試提交他的更改時,顛覆者將會detect the conflict並提供他合併他的更改的可能性。

1

這正是Subversion和其他版本控制系統旨在避免的情況。當克萊德入住時,他應該得到一個「過時」的錯誤,他的承諾應該失敗,從而迫使他更新他的工作副本並在他自己承諾之前得到喬恩的改變。

0

我已經使用Subersion和.NET應用程序在一起。基本上我們學到的是,在簽入之前,您應該始終對工作副本進行更新。這樣,其他開發人員所做的任何更改都會被放到您的工作副本中,任何合併衝突都會很快被您知曉。然後,您可以修復合併衝突,簽入並繼續工作。如果您的第二個開發人員隨後更新其工作代碼,則第一個開發人員合併的代碼將被關閉,並且該過程將被重複。

希望這會有所幫助。

1

查看從角色轉換的SVN視頻教程。這表明你喜歡的最佳實踐如何建立你的項目,以及如何做「簽到舞」,這將避免你跑進/

情況

http://www.dimecasts.net/Casts/ByTag/SVN

+0

哇 - 非常有幫助 - 非常感謝! – onekidney 2009-11-10 14:07:30

0

忽略的文件夾bin和OBJ,但我們有bin和Bin。 使用svn:忽略 [BB]在 [OO] BJ 名爲.suo *

相關問題