2011-11-29 57 views
2

我正在運行一個開源電子商務商店(nopcommerce)並且已經爲商店做了很多定製。項目升級更改與定製版本合併

每次發佈新版本的軟件時,我都會使用winmerge嘗試檢測哪些文件已更改,然後將這些更改合併到項目中。這工作正常,但隨着我的定製化發展,這項任務變得越來越成問題。

我真的很想做的是能夠從當前版本獲得差異到新版本,然後通過並應用我想要的更改。 如果我爲此使用TFS,是否有標準的方法來完成這個?也許一個3路合併應用程序可以更好地完成這項工作?

使事情變得更復雜一點,我使用主題支持將我的修改後的視圖添加到另一個位置,因此需要計算出各版本之間的更改並應用於此附加文件夾中的文件。

事實上,這是令人頭疼的地方,它決定了我做了哪些改變,哪些改變了新版本。

回答

0

我已經使用了TFS和Subversion,我強烈推薦使用TortoiseSVN(命令行)和VisualSVN(集成到Visual Studio中)的Subversion(源存儲庫)。

使用這些工具,可以非常容易地找出文件發生了什麼變化,更重要的是,在出現可怕的錯誤時回滾到以前的版本。

您還可以添加CruiseControl持續集成以自動構建解決方案並在每次簽入時運行單元測試,以確保您不會無意中破壞某些內容。

1

nopCommerce的源代碼在Mercurial via CodePlex。你真正需要做的是克隆他們的存儲庫並對你的本地克隆進行修改。然後,您可以跟上他們的修改或等到下一個版本發佈,然後從他們的回購中獲得更新並將其與您的更改合併。作爲分佈式版本控制系統的Mercurial只是合併得很好,如果您嘗試使用Subversion,TFS或Mercurial以外的任何其他軟件手動執行某些操作,則問題會更少。去下載TortoiseHg,它爲您提供一個漂亮的GUI和Mercurial的命令行工具。 TortoiseHg附帶KDiff3合併工具,但我強烈建議Beyond Compare。這不是免費的,但我會爲這個軟件付費百倍。

一如既往,如果您在使用Mercurial時需要幫助,請參閱Hg Book