2009-09-22 74 views
5

這可能是一個非常簡單的問題,但我還沒有找到如何刪除當前在外部SVN存儲庫中存在的所有文件。從svn倉庫中刪除所有文件

我可以使用刪除只有一個文件:

svn delete -m "delete README" http://myrepo.com/svn/myrepo/README 

但現在我要刪除它們。我想到了一個腳本,它可以獲取存儲庫中所有文件的列表,然後逐個刪除它們,但這很枯燥。你知道一個更簡單的解決方案嗎?

我也試過:

svn rm http://myrepo.com/svn/myrepo 
svn delete http://myrepo.com/svn/myrepo/* 

但沒有

感謝

+0

可能欺騙:http://stackoverflow.com/questions/264323/svn-recursive-刪除 – 2009-09-22 17:53:45

+0

它不適用於我,因爲我無法刪除整個存儲庫。我只對它的內容感興趣,在刪除那裏的所有文件 – flow 2009-09-22 18:17:52

回答

25

你可以做一個淺層結賬,然後全部刪除。

例子:

svn checkout --depth immediates http://myrepo.com/svn/myrepo myworking_copy 
cd myworking_copy 
svn rm * 
svn ci -m "Deleting all" 
+0

+1,簡單和作品 – orip 2009-09-22 22:25:48

+1

嗨 這個解決方案看起來很簡單,很好。我試過了,但遇到了錯誤,然後更新到SVN的最後一個版本。然後它認識到--depth選項,但我仍然有這個錯誤: http://subversion.tigris.org/faq.html#unrecognized-url-error 所以看來我的SVN安裝並不好。由於我耗盡時間,我嘗試了TortoiseSVN(可悲的只是爲了贏得$),瀏覽了回購並刪除了所有文件:) 無論如何我會解決安裝svn後 謝謝 – flow 2009-09-23 11:00:21

+0

這個問題可能會派上用場刪除包含所有文件的repo目錄。 http://stackoverflow.com/questions/9317600/deleting-a-folder-from-svn-repository – 2013-02-01 19:11:01

0

你沒有說你是在哪個平臺上。

如果您在Windows上並且安裝了TortoiseSVN,則可以使用資源管理器搜索文件夾層次結構中的所有文件,標記所有生成的文件,然後使用Tortoise將其刪除。

如果您使用的是某些Unix衍生版(包括OSX),則可以在您最喜歡的shell中執行類似操作。

1

在回購您可以svn rm子路徑,而不是回購本身。未來,trunk/branches/tags結構可能會更適合您。

要使用一些的bash/zsh,使用魔法將其刪除:

REPO=http://myrepo.com/svn/myrepo && svn rm `svn ls $REPO | sed "s/^/$REPO\//"` 

這將擴大到

svn rm http://myrepo.com/svn/myrepo/file_1 http://myrepo.com/svn/myrepo/file_2 ...