2011-07-10 48 views
2

我收到了一個SVN轉儲文件,其中包含許多頁面(所有HTML頁面,以及所有服務器端代碼)。我會把它們分開,但不知道如何做到這一點。如何提取SVN轉儲?

我在窗戶上,我根本沒有得到SVN。

+0

真的很重要你是說你收到SVN中每個文件的html輸出?或者您收到了回購協議中所有文件的列表? – Suroot

+1

問題在於模糊。你有一個svn轉儲文件?您想做什麼?只是提取一些文件?或者提取包含轉儲路徑的存儲庫? –

回答

1

假設您有完整的轉儲而不是增量轉儲,您可以輕鬆地提取文件。它們存儲有一小段標題信息(包括文件大小),後面跟着文件本身。

如果你有一個增量轉儲(你有文件的初始版本,然後只有增量)(即提交時對每個文件的更改),則會遇到更難的問題。但是,有一個簡單的解決方案:

安裝VisualSVN Serverhttp://www.ubersvn.com/並使用它來導入轉儲。然後使用像TortoiseSVN這樣的工具來查看歷史記錄並單獨導出每個文件(即,您剛剛創建了傾銷的svn存儲庫的副本,並正在像任何subversion用戶那樣訪問它)。

+0

它是完整的,由它的聲音。我有VisualSVN和SilkSVN,我能做些什麼來提取完整​​的數據? – Brooke

+0

閱讀http://svnbook.red-bean.com/瞭解SVN,特別是關於將轉儲導入存儲庫的一點。然後開始使用你的新回購。 – gbjbaanb

+0

此過程在Windows 7上運行,安裝VisualSVN服務器,然後使用TortoiseSVN。對於導入,您可能想要參考https://www.visualsvn.com/support/topic/00010/#import-local –

3

這裏有一個簡單的指南 - 它是Linux/UNIX的,但在DOS提示符下工作: http://www.mhermans.net/get-files-from-svn-dump.html

首先 - 下載SVN http://subversion.apache.org/packages.html#windows 命令行這可能是一個挑戰,但最終你將有svn.exe和svnadmin.exe在某個bin文件夾中。一旦你擁有它是一帆風順:

從DOS框:

mkdir c:\backup_repo 
[PATH TO SVN]\svnadmin.exe init c:\backup_repo 
type [PATH TO DUMP].dump | [PATH TO SVN]\svnadmin.exe load 
[PATH TO SVN]\svn.exe export "file:///C:\repo" c:\exportdest 

HTH

+2

幾周前,我在那封舊博客文章的每封郵件中收到了評論:「'svn init'不是一個選項;必須:'svnadmin create backup_repo'「。沒有測試過,但也許會有幫助。 – mhermans

+0

'init'也不適用於我,'創建'也沒有。在Windows 7. – DCShannon

+0

當然,然後下一行不起作用:「c:\ Code \ Iris>鍵入svn \ svn.svn_dump | svnadmin加載 svnadmin:E205000:需要存儲庫參數 該進程試圖寫入不存在的管道「。 – DCShannon

5

由亞當·巴特勒答案几乎是完美的,但我得到了一些問題,所以在這裏是我的工作液:

在DOS窗口(使用ConEmu一個更好的一個)

First cd to your svn folder tools 
mkdir d:\dumpRepo 
svnadmin create d:\dumpRepo 
type [PATH TO DUMP].dump | svnadmin load d:\dumpRepo 
svn export file:///d:/dumpRepo d:\Exportedfiles 

svn export的文件URI只包含常規/

+0

您的svnadmin負載線正常工作,謝謝! – Kon

+0

無論如何,svnadmin create創建文件夾時,自己做mkdir至關重要嗎? –