Как извлечь дамп SVN?

Я получил файл дампа SVN с большим количеством страниц (все HTML-страницы, а также весь код на стороне сервера) в этом файле. Я бы выделил их, но понятия не имею, как это сделать.

Я на Windows, и я не получаю SVN вообще.

3 ответа

Ответ Адама Батлера почти идеален, но у меня возникло несколько проблем, поэтому вот мое рабочее решение:

В окнах 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

Очень важно, чтобы файл URI для экспорта svn содержал только обычный /

Здесь есть простое руководство - оно для linux / unix, но работает из командной строки: http://www.mhermans.net/get-files-from-svn-dump.html

Во-первых, загрузите командную строку svn http://subversion.apache.org/packages.html Это может быть проблемой, но в конечном итоге вы будете иметь svn.exe и svnadmin.exe в папке bin. Как только у вас есть, что это плавное плавание:

Из коробки с досками:

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

НТН

Предполагая, что у вас есть полный дамп, а не инкрементальный, вы можете легко извлечь файлы. Они хранятся с небольшим фрагментом информации заголовка (включая размер файла), за которым следует сам файл.

Если у вас есть инкрементный дамп (где у вас есть первоначальная версия файла, а затем только дельты)(т.е. изменения в каждом файле, когда они были зафиксированы), у вас есть более сложная проблема. Однако есть простое решение:

Установите сервер VisualSVN или http://www.ubersvn.com/ и используйте его для импорта дампа. Затем используйте инструмент, такой как TortoiseSVN, чтобы просмотреть историю и экспортировать каждый файл по отдельности (то есть, вы только что создали копию дамп-хранилища SVN и теперь обращаетесь к ней, как любой пользователь Subversion).

Другие вопросы по тегам