鑒于使用HgSubversion無法從SVN服務器獲取版本,我找到了另外一個方法能解決公司使用SVN與自己攜帶方式編碼的平衡點:同時使用SVN與HG進行代碼管理。
在現有的SVN文件夾下,創建HG的代碼庫,編輯.hgignore文件,一般對于VC項目,可以這樣參考這樣的寫法
*中文為注釋,不要寫入文件
glob:.hgignore 忽略.hgignore本身
glob:.svn 忽略所有的svn管理文件
glob:*.user 本地用戶配置文件
glob:*.suo solution本地配置文件
glob:*.ncb Intelisence庫
glob:*.exe exe可以由代碼生成
glob:*.dll dll可以由代碼生成
glob:game/Lib 直接忽略lib里所有文件
glob:game/Obj 直接忽略obj里所有文件
這里的glob就是通配符,也可以使用工具做正則表達式
.hgignore可以由烏龜shell菜單中的Edit ignore filter來管理,而且還可以時時查看修改情況,可惜的是右邊的結果居然沒有排序功能……所以我的一般做法是直接在根目錄Commit,在列表中查看filter結果是否正確
確認無誤后,直接將代碼提交到hg代碼庫,以后代碼做修改時,SVN與HG會同時偵測到文件修改。一般可以自己認為HG是大的版本,而SVN是小的版本即可。 當需要帶走版本時,只需要直接拷貝hg目錄,或者用clone指令即可。別人需要獲得一份干凈的穩定版本,也可以新建一個HG版本庫,從這個混合庫中pull過去
這種做法在git+svn也是一樣的,:)