0

为了更好地理解:在 svn 分支中是否是其他分支(主干)的副本?我的意思是 svn 不跟踪它们之间的任何关系?所以我可以创建副本名称作为分支 myproject-xyz,提交它,那将是分支?所以我可以使用合并之类的操作?谢谢。

4

2 回答 2

3

是的,您必须使用 svn copy 命令在存储库中制作项目树的副本。您的源代码副本将被创建。您可以为您希望的分支选择任何名称。

现在你的副本,你可以签出代码。

$ svn checkout http://svn.example.com/repos/calc/branches/my-calc-branch
A  my-calc-branch/Makefile
A  my-calc-branch/integer.c
A  my-calc-branch/button.c
Checked out revision 341.
$ 

Subversion 知道你的分支的历史并且知道它什么时候从主干中分离出来。要执行同步合并,首先要确保分支的工作副本是“干净的”——它没有 svn status 报告的本地修改。然后简单地运行:

$ pwd
/home/user/my-calc-branch
$ svn merge ^/calc/trunk
--- Merging r345 through r356 into '.':
U   button.c
U   integer.c
--- Recording mergeinfo for merge of r345 through r356 into '.':
U   .
$ 

使用 svn status 检查主副本中的代码更改。

$ svn status
M      .
M  button.c
M  integer.c 
$ 

参考我最喜欢的http://svnbook.red-bean.com/

于 2013-06-25T16:02:44.923 回答
1

是的,如果您svn copy source_url/trunk source_url/myproject-x.y.z -m "Insert comment here"创建了分支myproject-x.y.z。两者之间没有明确的联系。在进行更多提交后,myproject-x.y.z您可以将其合并为trunk,但您也可以选择将其合并为假设的branch_b.

您必须使用svn copy命令而不是 doscopy或 Unix/Linux/OSX cp

于 2013-06-25T16:01:55.830 回答