我想将我的项目回滚到早期阶段,所以我尝试了这个:
svn rm -m "clear out mistakes rolling back" ^/MyProject/trunk
svn copy -m "roll back" -r 165 ^/MyProject/trunk ^/MyProject/trunk
但我一直收到错误“找不到文件:修订版265,路径'/ MyProject / trunk'”。 265是HEAD,但我不知道为什么它会在现有版本中寻找目标目录,而不是简单地创建它。
显然问题出在^符号上,因为使用完整的URL工作正常:
svn copy -m "roll back" <full URL>/MyProject/trunk@165 <full URL>/MyProject/trunk
但我最近使用^符号通过类似的复制操作制作分支。 (客户端是命令行svn 1.6.17。)那么,为什么它在这种情况下不起作用?
答案 0 :(得分:3)
我认为问题出在&#34; -r&#34;和&#34; @ rev&#34;:他们有不同的含义。
-r rev <path>
---有效修订---意味着@HEAD处于修订状态&#34; rev&#34; (例如,如果@HEAD不存在,则命令失败;如果它从版本&gt; rev中的某个path2替换/复制,则状态为path2 @ rev)
path@rev
--- peg revision ---意味着路径的状态正好在版本rev(然后,如果路径存在于HEAD,即使path @ HEAD从path2替换也没关系,状态是路径@ rev)。
在此处查看更多http://svnbook.red-bean.com/en/1.6/svn.advanced.pegrevs.html
答案 1 :(得分:0)
您必须删除该文件并添加一个带有新名称的新文件(即使名称中的单个字符更改也可以)。然后会在存储库中更新。