Svn: 如何根据主干的某个修订版创建分支

下面的操作只会从主干的头版本创建一个分支。如何从特定的修订版本创建分支?谢谢。

$ svn copy http://svn.example.com/repos/calc/trunk \
http://svn.example.com/repos/calc/branches/my-calc-branch \
-m "Creating a private branch of /calc/trunk."
142529 次浏览
$ svn copy http://svn.example.com/repos/calc/trunk@192 \
http://svn.example.com/repos/calc/branches/my-calc-branch \
-m "Creating a private branch of /calc/trunk."

您指定的修订版是192吗

您可以从 SVN 书中找到这些信息,特别是 在这里关于 svn 拷贝的页面

使用“@”字符附加修订:

svn copy http://src@REV http://dev

或者,使用-r [—— Amendment ]命令行参数。

查看 help 命令:

svn help copy


-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

使用示例在命令行上实际指定:

svn copy -r123 http://svn.example.com/repos/calc/trunk \
http://svn.example.com/repos/calc/branches/my-calc-branch

其中 123将是要复制的主干中的修订号。正如其他人指出的,您也可以使用@语法。我个人更喜欢将修订 # 与 URL 更清楚地分开。

正如在帮助中指出的那样,您也可以用某些单词替换修订 # :

svn copy -rPREV http://svn.example.com/repos/calc/trunk \
http://svn.example.com/repos/calc/branches/my-calc-branch

Would copy the "revision just before COMMITTED".

试试以下一个:

svn copy http://svn.example.com/repos/calc/trunk@rev-no
http://svn.example.com/repos/calc/branches/my-calc-branch
-m "Creating a private branch of /calc/trunk."  --parents

Svn URL 之间没有斜杠“”。