2010-08-30 57 views
5

我想弄清楚我們是否需要減少擁有svn管理員權限的開發人員數量。svn刪除後可以恢復文件嗎?

1 - 如果顛覆用戶意外刪除並提交文件或文件夾的刪除,該文件如何恢復?

2 - 如果subversion用戶擁有svn管理權限,那麼在客戶端上執行的svn delete會有不同的表現(更持久)嗎?

目標:下紅帽企業Linux(RHEL)5.2

+0

謝謝你所有的好答案。 我明白任何一個svn客戶端只是做了一個新的修訂,並且所有以前的修訂仍然可以訪問。我的錯誤是將svn服務器管理員權限(破壞力)與svn用戶權限(非破壞性)混淆。確保服務器已備份。 :-) – 2010-08-31 13:38:15

回答

6

是,被刪除的數據可以恢復。只需確定哪個版本刪除了信息,然後「反向合併」提交。例如:

svn merge -c -12345 working_copy_path 
svn commit working_copy_path 

-12345表示「反向合併修訂版本12345」。

請注意,顛覆本身並沒有任何「管理」用戶的概念。用戶對存儲庫中的任何給定路徑具有讀取和/或寫入權限。另請注意,根據您訪問存儲庫的方式,可能根本沒有授權。

+0

馬克, 謝謝你的簡潔明瞭的答案和提供的例子。 我一直誤解有關「行政」svn用戶及其危險的概念。聽起來主要的危險來自svn服務器的管理員,而不是svn用戶。 我什麼都不懂,可以從SVN客戶端來完成(服務器管理員權限沒有連接到他們的SVN用戶權限)可以通過指向回到一箇舊的版本未完成。 再次感謝, – 2010-08-31 13:33:36

+0

@Ed:你當然歡迎。 – Mark 2010-08-31 14:38:55

0
  • 1的svn命令行客戶機 - 一切都可以使用SVN撤消。即使是一個RM(或刪除)命令也可以撤消。
  • 2 - #1適用於每一個用戶
0

只是檢出修改該文件仍然存在:

svn checkout -r <revision> <path to repository> 

現在,您可以再次添加的文件。

+0

請參閱我對timdev的回答的評論。反向合併更改會保留相關文件的歷史記錄。 – Mark 2010-08-30 20:20:37