svn merge 差异合并

描述:

svn merge              — 应用两组源文件的差别到工作拷贝路径。

第一种和第二种形式里,源路径(第一种是URL,第二种是工作拷贝路径)用修订版本号N和M指定,这是要比较的两组源文件,如果省略修订版本号,缺省是HEAD。

-c M选项与-r N:M等价,其中N = M-1,使用-c -M则相反:-r M:N,其中N = M-1。

第三种形式,SOURCE可以是URL或者工作拷贝项目,与之对应的URL会被使用。在修订版本号N和M的URL定义了要比较的两组源。

WCPATH是接收变化的工作拷贝路径,如果省略WCPATH,会假定缺省值“.”,除非源有相同基本名称与“.”中的某一文件名字匹配:在这种情况下,区别会应用到那个文件。

不像svn diff,合并操作在执行时会考虑文件的祖先,当你从一个分支合并到另一个分支,而这两个分支有各自重命名的文件时,这一点会非常重要。

用法:

句法 (Syntax)

svn merge [-c M | -r N:M] SOURCE[@REV] [WCPATH]
svn merge sourceURL1[@N] sourceURL2[@M] [WCPATH]
svn merge sourceWCPATH1@N sourceWCPATH2@M [WCPATH]
svn merge -r m:n path
例如:svn merge -r 200:205 test.php(将版本200与205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)

例子:

1、将url指定代码的 A–B 版本[版本区间] 合并到本地,版本范围为[A,B) 半开半闭区间 

句法 (Syntax)

svn merge url -r A:B ./
A 表示添加
B 表示删除
U 表示被更新
G 表示存在冲突但已经被解决

2、将指定url上的代码merge到本地当前文件夹下(–dry-run表示test merge)

句法 (Syntax)

svn merge http://192.168.0.2/svn/repo/ProD/JinZay/EE ;S/code/ees-tem/branches/develop -c 1149491 ./ –dry-run

3、把svn 版本号为xxxx的改动合到你的本地

句法 (Syntax)

svn merge url -c xxxx ./

4、将url指定的code的xxxx版本到yyyy版本,merge到本地(注意:该方式不包括xxxx版本!!

句法 (Syntax)

svn merge url -r xxxx:yyyy ./

5、添加–dry-run 只是模拟实现merge 的行为而不是真正的进行这个动作

句法 (Syntax)

svn merge url -c xxxx ./ --dry-run
svn merge url -r xxxx:yyyy ./ --dry-run


上一主题 svn log 日志信息 下一主题 svn mkdir 创建目录
  • 使用社交账号登录,本站支持
全部评论(0)