0

我想知道这两个命令有什么区别:

svn merge -r N:HEAD url working_copy

svn merge -c N url working_copy

我只想将 N 中的内容合并到我的工作副本中,在第一个命令中我得到了我想要的东西,但如果我使用第二个命令,我什么也得不到。

什么是正确的命令行?

change 和 release 和有什么不一样?

我对这两个选项有点困惑,diff 有同样的问题。

我试图查看红豆书,但这有点令人困惑。

如果有人有一个很好的文档来理解它,那将会很有帮助。

谢谢你的帮助,查尔斯。

4

1 回答 1

2

svn help merge

 -r [--revision] ARG      : ARG (some commands also take ARG1:ARG2 range)
                            A revision argument can be one of:
                               NUMBER       revision number
                               '{' DATE '}' revision at start of the date
                               'HEAD'       latest in repository
                               'BASE'       base rev of item's working copy
                               'COMMITTED'  last commit at or before BASE
                               'PREV'       revision just before COMMITTED
 -c [--change] ARG        : the change made by revision ARG (like -r ARG-1:ARG)
                            If ARG is negative this is like -r ARG:ARG-1
                            If ARG is of the form ARG1-ARG2 then this is like
                            ARG1:ARG2, where ARG1 is inclusive

因此,如果您使用svn merge -c 100,则相当于svn merge -r 99:100- 在该修订版中所做的更改集。

如果自尝试合并的修订版以来您已经进行了 300 次更改,svn merge -r 100:HEAD则将拉动修订版 100 和 400 之间所做的所有更改。这就是为什么您会获得更多。

在单个存储库中执行合并的上下文中,如果您在使用 时“一无所获” svn merge -c N,我首先建议检查该修订的日志并验证修订 N 确实触及了您用作源的路径合并。如果修订版 100 更改/branch/mybranch并且我尝试从 合并/trunk,则使用svn merge -c 100.

于 2013-08-21T15:15:58.143 回答