战魂小筑

讨论群:309800774 知乎关注:http://zhihu.com/people/sunicdavy 开源项目:https://github.com/davyxu

   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  257 随笔 :: 0 文章 :: 506 评论 :: 0 Trackbacks

      鉴于使用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也是一样的,:)

posted on 2010-01-29 11:55 战魂小筑 阅读(5387) 评论(4)  编辑 收藏 引用 所属分类: 工具使用及设计

评论

# re: Mercurial(Hg) 与 SVN的双代码管理 2010-02-04 12:02 风雷九州
我也这样用过一段时间内,但是两个仓库换来换去的,非常麻烦,后来抛弃了这种方案,使用 台湾人高嘉良开发的SVK就可以了,直接在本地硬盘或移动硬盘上建立一个本地库镜像,使用TortoiseSVN直接在本地库上工作,定期提交到公司SVN服务器即可。

http://user.qzone.qq.com/33947887/blog/1264569909  回复  更多评论
  

# re: Mercurial(Hg) 与 SVN的双代码管理 2010-02-04 19:21 Davy.xu
SVK已经停止更新了。
我自己就是用hg和svn双代码管理一段时间了,感觉不错  回复  更多评论
  

# re: Mercurial(Hg) 与 SVN的双代码管理 2010-02-08 10:34 风雷九州
@Davy.xu

用HG管理本地库时,好像不能加入.svn目录,这样两个检出的SVN目录就没办法同步了,或者说文件同步了但.svn目录没有同步,在修改比较大的情况下,再次更新被HG同步的目录时经常产生冲突,不胜其烦,你是怎么解决的?  回复  更多评论
  

# re: Mercurial(Hg) 与 SVN的双代码管理[未登录] 2010-02-08 19:28 Davy.xu
@风雷九州
不能将svn的管理文件让HG管理,同理,HG的也不能让svn管理。一般情况下,svn作为大版本commit。而hg在于小版本commit。  回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理