我有一个 Subversion 源代码存储库。我需要根据六年前的代码创建一个分支。我需要对这个旧代码进行修改,并将其提交回存储库(作为分支)。该代码永远不会合并到主干中。
创建分支或分叉的分步 Tortoise 命令是什么,以及如何将更改提交回存储库?
在 Subversion 中,分支和标签是使用 copy 子命令创建的。从概念上讲,您可以将软件的一个版本复制到分支,就像复制文件系统上的文件一样。
我将首先描述 CLI 命令,因为它们简洁明了。 CLI 与 TortoiseSVN 一起安装,但不一定添加到
PATH
。假设您位于工作副本中并且您的存储库具有默认的主干/分支/标签布局,则操作将如下所示:
svn copy -r {2017-10-11} ^/trunk ^/branches/archeology -m"Create branch from trunk of six years ago"
# Switch to the newly created branch
svn switch ^/branches/archeology
# Make your changes as usual ...
# Commit your changes back into the branch
svn commit -m"Wow, that was a lot of work"
请注意,上面的示例使用了“修订日期”功能。 {2017-10-11}
将解决 2017 年 10 月 11 日午夜后不久的最后一次修订。
使用TortoiseSVN的GUI,过程是相同的,只是您按照创建分支
文档中描述的方式使用GUI。那就是 TortoiseSVN
->分支/标签 ...。在对话框中,输入新分支的路径和日志消息。选择 存储库中的特定修订版,然后输入修订版号或使用 显示日志 按钮浏览到分支的起点。 (不幸的是,我不知道 TortoiseSVN 是否也接受修订日期,现在无法测试,但值得一试。) 使用 Ok 按钮创建分支。 不要忘记使用 TortoiseSVN
->Switch .... 将工作副本切换到新创建的分支 进行更改后,提交
。