项目开发中最长遇到的问题就是需要并行版本控制,比如一个产品分为个人版和企业版。那么其中某一个版本修改的时候,一些关键的修改也要合并到企业版里面。 还有诸如你的产品对于不同的客户都有一些定制的修改,而一些关键的修改您又希望能同步到主办本里面,这时候,你就需要一个文件/目录比对器。
WinMerge就是这样一个文件目录比对器,它是完全免费的,您可以从www.sf.net上下载它。使用起来非常方便,不过有几点需要注意。
1 过滤器的设定,你可以为自己的项目定义一个过滤器
def: include
d: /.php$ ## Filter for filename 这里是需要比对的文件名
d: /.html$
d: //attachment$ ##这里是不需要比对的,要跳过文件夹,这个地方很奇怪,但就是排除的意思
d: //cache$
d: //css$
d: //docs$
d: //htmlarea$
d: //javascripts$
d: //themes$
d: //xajax$
2 比对完成后,Winmerge可以生成报表。你可以把它分发给所有的开发人员,确保合并正确完成。然后进行集成编译。
3 有的说CVS的分支管理不是也可以实现并行开发么?是的,不过那个并行版本的通常用于同一个项目的不同版本号之间的并行,按照手册的说法:例如你的产品发布了1.0了,这时候你可以建立一个1.1的分支继续开发,而不会影响到1.0的版本,等1.1分支成熟以后,再合并到主干的1.1中去。
对于不同的项目,最好还是分别建立不同的代码仓库,通过一些简单的对比工具实现合并。