假设一个项目仓库地址 http://svn.example.com/repos/calc
calc 项目有一个标准目录
trunk/
branches/
tags/
分支(branch)
创建分支
svn copy
命令
$ svn copy http://svn.example.com/repos/calc/trunk \
http://svn.example.com/repos/calc/branches/my-calc-branch \
-m "Creating a branch of /calc/trunk."
Committed revision 341.
$
可以使用插入符号 ^
省略完整路径,进入工作副本,即 calc 副本目录,不一定是根目录,只要在副本里面,则上面的路径可简化为
$ svn copy ^/trunk ^/branches/my-calc-branch -m "Creating a branch of /calc/trunk."
在 windows 中,^
需要转义,使用双引号或 ^^
如 ^^/trunk
或 "^/trunk"
执行完 svn copy
后也会自动 commit 一次,此时工作副本不会产生分支,需要进行 update 操作。
合并
svn merge
命令
合并前最好 update 一下。
从主干合并到分支,假设处于分支副本,则
$ pwd
/home/user/my-calc-branch
$ svn merge ^/calc/trunk
从分支合并到主干,类似
$ pwd
/home/user/trunk
$ svn merge ^/branches/my-calc-branch
合并可以指定合并的版本范围,如 $ svn merge ^/trunk -r399:HEAD
合并 r399 至最新版本范围的变动。
想知道更详细的信息不要忘记 svn help