2008-10-08 165 views
47

我有一個文件夾,是我的工作副本。如何從該文件夾中刪除所有SVN功能?有一個原因讓我這樣做,不知何故,我的主文件夾包含我所有的工作站點副本,不知怎的,它本身已經變成了一個工作副本,所以我自己也有一個工作副本。'Un-SVN'工作副本

那麼,有沒有簡單的方法從文件夾中刪除版本控制?

回答

32

只需刪除其中的所有「.svn」文件夾即可。而已。

+20

「導出」要容易得多 – 2009-09-01 04:27:56

+9

如果遠程回購已死亡,則不能導出 – DevelopingChris 2010-04-23 14:06:55

+2

在此詳細說明。如果你嘗試添加一個目錄到已經有`.svn`隱藏文件的SVN,那麼svn將拒絕添加它。刪除.svn文件並嘗試再次「svn add」。如果這不起作用。刪除目錄並執行`svn update yourdirectory`,然後`svn remove yourdirectory`。 svn經常會感到困惑和恐慌,有時唯一的解決辦法是將所有東西都吹走並重建所有東西。 – 2012-10-19 00:28:45

4

您可以手動刪除所有的.svn文件夾(請確保爲每個子文件夾執行此操作),也可以使用簡單的實用程序,如Jon Gallaway's shell command

1

難道你不能只是刪除.svn子文件夾?

據我所知SVN存儲有關的(至少在Windows中)連接到存儲庫在該子文件夾都

47

SVN出口是你要找的命令。您可以將受控文件集導出到非受控位置並使用它。

+0

我認爲他打破了svn結構和工具不爲他工作... – 2008-10-08 15:45:11

2

隨着TortoiseSVN,你可以做一個右鍵點擊&放下你的文件夾,然後選擇一個「SVN全部導出到這裏」命令。

3

TortoiseSVN能夠導出文件而無需其Subversion綁定 - 右鍵單擊​​存儲庫(或回收站中的目錄),然後選擇TortoiseSVN,然後單擊導出。另一種方法是刪除所有文件夾中的所有.svn目錄。

4

Windows客戶端「TortoiseSVN」具有「導出」功能。導出會在其他文件夾中的其他文件夾中創建一個副本,但不會包含所有這些「.svn」文件夾。 您可以從存儲庫或從本地副本導出選項以包含未版本控制的文件。

13

如果您使用的是TortoiseSVN,您可以在您的工作副本的根文件夾中單擊鼠標右鍵,然後單擊導出...即使您有無可爭議的更改,這也可以工作。

同樣,您可以從存儲庫執行導出操作,但不會創建任何.svn文件夾。

另一個直接的方法是隻刪除前面提到的所有.svn文件夾。

1

正如其他人所說,刪除.svn文件夾將從該文件夾中刪除SVN功能。如果以遞歸方式進行操作,您將「un-SVN」您的整個WC,這基本上是導出命令的作用。我不確定它是Tortoise,CLI SVN二進制還是兩者的一個特性,但我記得其中一個允許您執行就地導出,它實際上只是從WC中刪除.svn文件夾。正常導出會在未版本控制的新位置創建WC的副本。

4

這個怎麼樣:

for /f "tokens=* delims=" %%i in ('dir /s /b /a:d ".svn"') do rd /s /q "%%i" 

遞歸刪除所有.svn文件folders--

(如果導出功能是不是你 - 一個選項,將無法訪問存儲庫等...)

23

如果您正在使用的* nix樣工具:

find . -type d -name .svn -print0 | xargs -0 rm -fr 
3

這裏是一個Windows批處理腳本將刪除從Subversion的所有.svn目錄的工作拷貝目錄:

@echo off 
rem cleanup .svn subdirs 

setlocal enabledelayedexpansion 

rem change to directory that this batch script resides in 

if "%~1"=="" (
    echo Usage: svncleanup svn_working_copy_dir 
    exit /b 1 
) 

echo cleaning up .svn subdirs in "%~1" ... 

for /R "%~1" %%I in (.svn) do rmdir /Q /S "%%I" > NUL 2>&1 
2

我只需使用Windows資源管理器搜索「.svn」(從我的工作副本開始),然後選擇它找到的所有文件夾並將其刪除。

2

出口的地點與龜

當我閱讀了以上所有建議,我大爲不快,因爲我的源文件是3GB,與many.svn文件夾。

從R-click上下文菜單中選擇Export並彈出「放置副本的位置」對話框,選擇同一個文件夾本身。好。中提琴的所有源控制cruft是(遞歸)消失,立即。