我以爲在window下面,查找被刪除的svn文件夾和文件是件比較麻煩的事,恢復就更麻煩了。有的時候,命令仍是比鼠標要好用的。 php
下面作一個例子來講明一下,刪除和恢復的例子。 html
實際刪除文件夾和刪除文件的操做的方法有一點點不一樣 svn
1,刪除文件夾後,要回到被刪除文件夾的上一級目錄 spa
cd 父目錄
[root@BlackGhost main]# svn log -v |grep -C 4 tank
------------------------------------------------------------------------
r21 | zhangy | 2010-10-26 21:11:16 +0800 (Tue, 26 Oct 2010) | 1 line
Changed paths:
D /main/tank .net
a
------------------------------------------------------------------------
r20 | zhangy | 2010-10-26 21:10:59 +0800 (Tue, 26 Oct 2010) | 1 line
Changed paths:
M /main
A /main/tank server
a
------------------------------------------------------------------------ htm
從上面咱們能夠看出,在21版本的時候被刪除了,在20這個版本還在,我就能夠將其恢復到20版本刪除前最新的版本 blog
[root@BlackGhost main]# svn update -r 20 tank //恢復刪除文件夾
A tank
Updated to revision 20. ip
2,若是是刪除文件後,是不要回到上一級目錄,本目錄就行 ci
[root@BlackGhost branch]# svn log -v |grep -C 4 test.php
------------------------------------------------------------------------
r13 | zhangy | 2010-10-26 21:11:16 +0800 (Tue, 26 Oct 2010) | 1 line
Changed paths:
D /branch/test.php //在13版的時候,被刪除了。
test
------------------------------------------------------------------------
r12 | zhangy | 2010-10-26 21:10:59 +0800 (Tue, 26 Oct 2010) | 1 line
Changed paths:
M /branch
A /branch/test.php
test
------------------------------------------------------------------------
從上面能夠看出,12版本test.php是有的
[root@BlackGhost branch]# svn update -r 12 test.php //更新的時候,出現瞭如下問題
Skipped 'test.php'
At revision 12.
Summary of conflicts: //提示是有衝突的
Skipped paths: 1
[root@BlackGhost branch]# svn resolve --accept working test.php //解決衝突
Resolved conflicted state of 'test.php'
[root@BlackGhost branch]# svn update -r 12 test.php //恢復刪除的文件 A test.php Updated to revision 12.