首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

SubVersion 绝佳實踐

2012-07-15 
SubVersion 最佳實踐SubVersion 我們的最佳實踐, 部分摘錄自http://www.open.collab.net/scdocs/SVNTips.h

SubVersion 最佳實踐
SubVersion 我們的最佳實踐, 部分摘錄自http://www.open.collab.net/scdocs/SVNTips.html.zh-cn,並結合自己的實踐。

庫與目錄組織:
Subversion 项目官方推荐采用“项目根目录”方式,项目根目录代表项目的锚点。“项目根目录”包含三个子目录:/trunk、/branches 和 /tags。单一存储库可以只包含一个项目根目录,也可以包含多个项目根目录。


3.Trunk下直接放各個程序模塊,保存當前最新的穩定發行代碼。此處保存的版本應為當前最新、穩定的、正在產品上運行的代碼。



4.Tags下放置各個發行版本,記錄每次上Production的代碼,可以時光倒流,回退到某個發行版本測試和跟蹤問題。



5.Branches下放置當前Enhancement任務的修改代碼;每一個branch都包含trunk下完整的模塊(或者僅保存修改的模塊);修改中的代碼隨時可以commit到此處。




提交與更新
1.任何有意義的、合乎邏輯的修改都可以且應該提交;
2.对存储库提交更改时,需确保更改反映单一目的;
3.建議對每一個提交都編寫簡明的註釋(在我們的項目中,強制必須寫註釋才能提交);
4.耐心处理大型文件: Subversion 的另一个不错的功能就是在设计时没有对它可以处理的文件大小进行限制,但處理數以M甚至幾十M計的文件時,你需要耐心;

分支與合併
1.什麽時候創建分支,或說創建多個個分支,直接把修改在trunk上提交還是只允許在分支上提交?這是一個有爭議的問題。
2.但對於大型、多人參與的、需要更多管理的項目,建議使用“始終分支系統”——即上面第一章的“庫與目錄組織”的分支方式。
3.“始終分支系統”的优点:能保证 /trunk 始终都能极其稳定;
4.“始終分支系統”的缺点:编码者之间被人为隔离,会导致很多不必要的合并冲突。需要用户进行大量的额外合并工作。

我們的做法:
1.每個Enhancement都創建一個分支;
2.在分支上修改、提交;UAT;
3.儅UAT通過后,把分支合併回到trunk,重新編譯並回歸測試,通過后打包發佈;
4.產品成果發佈后,把當前trunk複製到tags下,標記為某一個發行版本。

热点排行