我目前正在编写一个脚本,我已经熟悉了Tortoise SVN及其相应的命令行功能。
我已正确更新脚本,以通过一系列测试找到正确构建的“修订版”。在脚本记录了该变量(版本号具体)之后,我更新到HEAD修订版(这样我就可以在这个过程之后提交,我遇到了麻烦)。
我的问题: 如何从命令行恢复到特定的版本号?
我知道你可以svn更新-r,但你怎么能用revert这样做,这样它就可以将我的工作副本改为修改状态;以后可以提交?我只是问,因为revert不接受-r参数;除非我犯了错误。
我从这个问题中找到了它的修订/更新方式: reverting with tortoise SVN 但我找不到任何可靠的答案。任何帮助将不胜感激。
答案 0 :(得分:14)
确保术语正确非常重要,因为"还原"意味着在Subversion中非常具体,而在英语中,它可以基于上下文具有多种含义。
svn update -r
实际上只是将文件更新为特定(过去)版本。你是"还原"旧的修订,但你并没有真正改变任何东西(如果你试图编辑,然后提交,你将被拒绝,因为你没有编辑最新版本)。同样,这不是你正在寻找的。 li>
HEAD
。在Subversion中,这被称为反向合并。这被描述为in the Subversion manual - 您以相反的顺序(从最新到最旧)向svn merge
提供一系列修订号,然后提交生成的工作副本。答案 1 :(得分:1)
在许多情况下svn merge
更可取
然而,当我遇到类似的问题时,我发现 checkout 更早适用于早期(稳定)版本,因为它不会更改我的本地更改,之后我仍然可以更新到当前版本