5

我在上一篇文章中谈到破坏事物的时间太早了。

我正在尝试使用该命令恢复到修订版1124svn update -r 1124 ,但我不断收到如下错误消息:

[prague]$ svn update -r1024
U    app/webroot/css/group_themes/green.css
U    app/webroot/css/style.css
Skipped 'app/webroot/index.php'
svn: Failed to add directory 'app/webroot/images/users': an unversioned directory of the same name already exists

我们备份了一些东西,但仍然不是我知道我昨晚检查过的确切版本......我认为恢复到特定版本会容易得多:(

4

3 回答 3

13

没有提交

尝试在新的空目录中签出修订版 1124,这样您就不会与现有目录发生冲突。

所以svn checkout -r 1124在一个新目录中。

有提交

根据 svn 手册,如果要提交以前的修订,则需要使用反向合并。请参阅http://svnbook.red-bean.com/en/1.0/ch04s04.html,“撤消更改”。

svn merge -c -1124 http://svn.example.com/repos/calc/trunk 其次是

svn commit -m "Rollback merge to revision 1124"

于 2011-03-02T08:43:13.280 回答
3

添加目录“app/webroot/images/users”失败:已存在同名的未版本化目录

对我来说听起来很清楚:已经有一个具有该名称的目录,并且没有版本控制。您可以选择两件事:删除目录并再次更新,或重命名(可能是最聪明的)并再次更新。

 $ mv app/webroot/images/users app/webroot/images/users.orig/
 $ svn update -r1024

顺便说一句,帮自己一个忙,看看 SVN 的一些替代品,例如 Mercurial、Bazaar 或 Git。我发现切换非常愉快;)

于 2011-03-02T08:44:23.723 回答
0

您可以使用简单地对修订进行更新

svn up -r 1124 

但这不会让您提交更改,因为 SVN 需要您在提交之前将工作副本更新为 HEAD。你可以做的是

svn merge -r HEAD:1124 yourFile
svn ci yourFile -m "Reverting back to rev 1124 "
于 2015-10-13T09:27:30.003 回答