SVN的子命令SVN merge详解

来源:互联网 发布:如何操作淘宝wap访客数 编辑:程序博客网 时间:2024/04/26 07:45

    本节介绍SVN子命令SVN merge的使用问题,即子命令SVN merge—应用两组源文件的差别到工作拷贝路径,SVN的拷贝是一种比较有技巧的简单问题,大家在平时的使用过程中有更好的方式希望能够提供出来,供我们大家共同交流讨论。下面是具体的介绍。

    名称
    子命令SVN merge—应用两组源文件的差别到工作拷贝路径。

    概要
    svnmerge[-cM|-rN:M]SOURCE[@REV][WCPATH]
    svnmergesourceURL1[@N]sourceURL2[@M][WCPATH]
    svnmergesourceWCPATH1@NsourceWCPATH2@M[WCPATH]

    描述

    子命令SVN merge-应用两组源文件的差别到工作拷贝路径的第一种和第二种形式里,源路径(第一种是URL,第二种是工作拷贝路径)用修订版本号N和M指定,这是要比较的两组源文件,如果省略修订版本号,缺省是HEAD。-cM选项与-rN:M等价,其中N=M-1,使用-c-M则相反:-rM:N,其中N=M-1。
    第三种形式,SOURCE可以是URL或者工作拷贝项目,与之对应的URL会被使用。在修订版本号N和M的URL定义了要比较的两组源。
    WCPATH是接收变化的工作拷贝路径,如果省略WCPATH,会假定缺省值“.”,除非源有相同基本名称与“.”中的某一文件名字匹配:在这种情况下,区别会应用到那个文件。

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

    选项
    --revision(-r)REV
    --change(-c)REV
    --non-recursive(-N)
    --quiet(-q)
    --force
    --dry-run
    --diff3-cmdCMD
    --extensions(-x)ARG
    --ignore-ancestry
    --usernameUSER
    --passwordPASS
    --no-auth-cache
    --non-interactive
    --config-dirDIR

    例子:
    我们来看一下子命令SVN merge应用两组源文件的差别到工作拷贝路径的一个具体例子。将一个分支合并回主干(假定你有一份主干的工作拷贝,分支在修订版本250创建):
    $svnmerge-r250:HEADhttp://svn.red-bean.com/repos/branches/my-branch
    Umyproj/tiny.txt
    Umyproj/thhgttg.txt
    Umyproj/win.txt
    Umyproj/flo.txt
    如果你的分支在修订版本23,你希望将主干的修改合并到分支,你可以在你的工作拷贝的分支上这样做:
    $svnmerge-r23:30file:///tmp/repos/trunk/vendors
    Umyproj/thhgttg.txt…
    合并一个单独文件的修改:
    $cdmyproj
    $svnmerge-r30:31thhgttg.txt
    Uthhgttg.txt。子命令SVN merge应用两组源文件的差别到工作拷贝路径介绍完毕。