Merge changes into a working copy.

usage:
  1. merge SOURCE[@REV] [TARGET_WCPATH]
    (the ‘sync’ merge)

  2. merge [-c M[,N…] | -r N:M …] SOURCE[@REV] [TARGET_WCPATH]
    (the ‘cherry-pick’ merge)

  3. merge --reintegrate SOURCE[@REV] [TARGET_WCPATH]
    (the ‘reintegrate’ merge)

  4. merge SOURCE1[@N] SOURCE2[@M] [TARGET_WCPATH]
    (the ‘2-URL’ merge)

有效选项: 
  -r [--revision] ARG      : ARG (一些命令也接受ARG1:ARG2范围)
                             版本参数可以是如下之一: 
                                NUMBER       版本号
                                '{' DATE '}' 在指定时间以后的版本
                                'HEAD'       版本库中的最新版本
                                'BASE'       工作副本的基线版本
                                'COMMITTED'  最后提交或基线之前
                                'PREV'       COMMITTED的前一版本
  -c [--change] ARG        : 在ARG版本(如同 -r ARG-1:ARG)作的修改
                             如果ARG为负数则等价于 -r ARG:ARG-1
  -N [--non-recursive]     : 过时;尝试 --depth=files 或 --depth=immediates
  --depth ARG              : 限制操作深度是 ARG ('empty', 'files',
                             'immediates', 或 'infinity')
  -q [--quiet]             : 不打印信息,或只打印概要信息
  --force                  : 强制操作运行
  --dry-run                : 尝试操作但没有修改
  --diff3-cmd ARG          : 使用 ARG 作为合并命令
  --record-only            : 只合并合并信息的差异
  -x [--extensions] ARG    : 缺省: “-u”。当 Subversion 调用外部比较程序时,ARG 直接传给它。但是当
                             Subversion 使用缺省的内置比较实现,或者正
                             显示追溯时, ARG 可以是: 
                                -u (--unified):
                                   输出三行统一上下文。
                                -b (--ignore-space-change):
                                   忽略空白数量的修改。
                                -w (--ignore-all-space):
                                   忽略所有的空白。
                                --ignore-eol-style:
                                   忽略行尾样式的改变。                            -p (--show-c-function):
                                   在比较输出中显示 C 函数名称。
  --ignore-ancestry        : 合并时忽略原始信息
  --accept ARG             : 指定自动解决冲突动作
                             ('postpone', 'working', 'base', 'mine-conflict',
                             'theirs-conflict', 'mine-full', 'theirs-full',
                             'edit', 'launch')
                             (shorthand: 'p', 'mc', 'tc', 'mf', 'tf', 'e', 'l')
  --reintegrate            : 合并分支回父分支
  --allow-mixed-revisions  : 允许合并到含有混合版本的工作副本.
                             不建议使用此选项!
                             请先执行 'svn update' 。
全局选项: 
  --username ARG           : 指定用户名称 ARG
  --password ARG           : 指定密码 ARG
  --no-auth-cache          : 不要缓存用户认证令牌
  --non-interactive        : 不要交互提示
  --trust-server-cert      : 不提示的接受未知的证书颁发机构发行的 SSL 服务器证书(只用于选项 “--non-interactive”)
  --config-dir ARG         : 从目录 ARG 读取用户配置文件
  --config-option ARG      : 以下属格式设置用户配置选项:
                                 FILE:SECTION:OPTION=[VALUE]
                                 servers:global:http-library=serf
                        原文链接:https://blog.51cto.com/gavin0/2129394
                                    合并深度:1, Working copy(工作副本):即你当前的工作目录,一般默认为这个选项;2,Recursively(递归):即你选择的目录的版本库,包括了其下面的子文件,子文件夹,包括子文件夹里面的内容;3, Direct children(直接子节点):即你选择的目录下面的文件,文件夹,但是不包括文件夹里面的子文件,子文件夹;4,Files in a folder(仅文件子节点):即你选择的
# # Simplified Chinese translation for subversion package # This file is distributed under the same license as the subversion package. # # Update to new pot: #    msgmerge --update zh_CN.po subversi...
                                    3.选择e进行手动编辑冲突文件,根据上面冲突提示,进行编辑即可,保存更改,又出现刚才的选项。添加--dry-run参数仅仅是对merge的内容进行测试,不进行实际merge操作,检查是否由冲突,冲突发生在哪个文件;对mergesvn -r  19906进行测试,不进行实际merge操作,是否与本地文件存在冲突;由上图可知因为merge的trunk的代码与本地代码存在冲突,选择df,显示冲突;5.自此,整个merge和解决冲突结束,下面查看修改状态,提交代码;2.edit,对冲突内容进行编辑,解决冲突;
                                    merge: Merge changes into a working copy.usage: 1. merge SOURCE[@REV] [TARGET_WCPATH](the 'sync' merge)
merge [-c M[,N...] | -r N:M ...] SOURCE[@REV] [TARGET_WCPATH](the 'cherry-pick' merge)
merge --...
        从SVN上DOWN下来一个主分支,在此分支上面分离出一个开发分支,并重新命名。 
        开发过程中,由于开发速度较快,在往主分支合并的时候,假设10个类被提交到分支上,但是主分支只要提交前5个类(进度管理),后面5个直接在版本合并时没有勾选,并在本地的主分支进行删除(这可能就是问题的所在)。 
2、后面要合并第6个类,结果此类已经在之前开发分支版本提交过,导致主
merge是干啥的呢?
使用过SVN都知道SVN其实就是一个代码管理的软件,使用它可以很好的解决代码冲突。他可以针对一个文件产生不同的版本,每一个版本都对应自身的改动。因为它记录了每一个文件的修改变化(可以理解为文件之间的不同点diff),这对于我们的开发,理解有很好的作用。
简而言之就是你想把某一版改动合到另一个branch上的时候,记住你合过来的改动只是每版...
1、其中一种命令行合并方式,svn merge -r N:M url ./
使用案例:场景:将branches下相应项目的修改合并到主干。
方式:当前位于trunk下相应工程的目录,在该目录下执行以上命令,意义“将分支下该对应目录中N-M的修改,应用到当前目录”,其中,url:为branches下该相应目录。
merge [-c M[,N…] | -r N:M …] SOURCE[@REV] [WCPAT
                                    版本管理中有一个很重要的概念,就是主干和分支。对应于主干和分支之间代码的合并操作,就会用到svn merge。
	1. merge SOURCE[@REV] [TARGET_WCPATH]
cherry-pick     reintegrate    2-URL
-r  -c  版本区间
svn merge source target
                                    Working copy(工作副本):即你当前的工作目录,一般默认为这个选项;Recursively(递归):即你选择的目录的版本库,包括了其下面的子文件,子文件夹,包括子文件夹里面的内容;Direct children(直接子节点):即你选择的目录下面的文件,文件夹,但是不包括文件夹里面的子文件,子文件夹;Files in a folder(仅文件子节点):即你选择的目录下面的文件,但不包括文件夹,当然不包括的文件夹下面的所有内容也都不纳入合并范围;Only a folder(仅此项)