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