2

我想将我的项目回滚到更早的阶段,所以我尝试了这个:

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。)那么,为什么它在这种情况下不起作用?

4

2 回答 2

3

我认为问题在于“-r”和“@rev”:它们具有不同的含义。

-r rev <path>--- 有效修订 --- 表示 @HEAD 处于修订“rev”时的状态(例如,如果@HEAD 不存在,则命令失败;如果它是从修订 > rev 中的某个路径 2 替换/复制的,则状态是 path2@rev)

path@rev---peg revision --- 表示路径的状态正好在版本 rev (那么路径是否存在于 HEAD 无关紧要,即使 path@HEAD 被 path2 替换,状态也是 path@rev)。

在此处查看更多信息http://svnbook.red-bean.com/en/1.6/svn.advanced.pegrevs.html

于 2012-07-21T19:22:05.660 回答
0

您将不得不删除该文件并添加一个具有新名称的新文件(即使名称中的单个字符更改也可以)。然后会在存储库中更新。

于 2014-11-20T05:56:44.680 回答