A.svn merge sourceURL1[@N] sourceURL2[@M] [WCPATH] B.svn merge sourceWCPATH1@N sourceWCPATH2@M [WCPATH] C.svn merge[[-c M]...|[-r N:M]...] [SOURCE[@REV][WCPATH]] 最常用的是第三种,即把当前一个阶段内的版本都合并到WCPATH的位置。其中-c M相当于-r M-1 M。下面我们来看如何应用这个命令来集成主干的改变 Step 1:确定要从哪个版本开始~那个版本结束 通常从主干到分支彼此之间的集成不会太频繁,不要指望能够一天一次或几天一次。通常都是在主干的代码开发完毕,测试通过后才会更新到分支。在此期间可以主干上的开发人员已经进行了多次的提交,为了令到这一时间段内的变化都能够被分支感知,我们会把这一阶段内的所有变化都集成到分支上。 所以集成前的第一步就是使用svn log查看要从哪个版本开始集成。
我们告诉SVN,把从版本号38开始到41之间的所有改变都集成到本地工作副本ECoupon_tmp项目中,于是从版本号39开始~41的所有变化都会被应用到本地工作副本。 Step 3: 提交集成结果 由于svn merge命令的最终应用时WCPATH,也就是说你只能把来自主干的改变同步到分支的本地副本。此时你本地的副本已经时最新的了,但版本库上的分支还不是。所以还得执行一次commit