Как сделать резервную копию и восстановить весь исходный код в SVN? - PullRequest
4 голосов
/ 10 сентября 2009

Сейчас я использую Windows XP. Если я просто скопировать всю папку хранилища в визуальном SVN, Как только сервер не работает, как я могу восстановить его через папку резервного копирования? другое лучшее решение для резервного копирования и восстановления в Visual SVN?

Кстати, есть ли способ резервного копирования и восстановления в визуальном управлении источниками?

Ответы [ 4 ]

25 голосов
/ 10 сентября 2009
svnadmin dump /path/to/repository | bzip2 -9c > svn-backup.bz2

Шаг сжатия, конечно, необязателен.

Основное преимущество этого метода по сравнению с методом «копировать дерево», рекомендованное в другом ответе, заключается в том, что формат «дампа» Subversion является лучшим архивным форматом, чем большинство форматов баз данных, используемых Subversion в своем репозитории. (Это компромисс между скоростью и простотой.) Вы можете прочитать файл дампа в текстовом редакторе, легко разобрать его и & mdash; самое важное & mdash; импортируйте его в другой репозиторий Subversion, используя другой сервер базы данных.

Восстановите вышеуказанный файл с помощью:

bzip2 -dc svn-backup.bz2 | svnadmin load /path/to/repository
2 голосов
/ 04 июня 2015

Вот что я использую:

#!/bin/bash

mkdir /tmp/backup_svn

for dir in /var/www/svn/*/
    do
        dir=${dir%*/}
        svnadmin dump "${dir}" > "/tmp/backup_svn/${dir##*/}.dmp"
    echo "--- Dump ${dir##*/} done!"
done

Для восстановления дампа вам необходимо создать папку de repo до:

svnadmin create /var/www/svn/test

И их:

svnadmin load /var/www/svn/test/ < /tmp/backup_svn/test.dmp

Этот метод восстановит все ревизии / теги / ветки в вашем хранилище.

2 голосов
/ 10 сентября 2009

Вы должны использовать svnadmin hotcopy для создания резервной копии вашего хранилища.

0 голосов
/ 10 сентября 2009

Вы можете просто скопировать весь каталог в и из. Файлы есть файлы, в них нет ничего волшебного.

Если вы хотите сделать что-то более сложное, например, как-то отредактировать содержимое репозитория перед восстановлением, тогда вам нужно выполнить dump и load.

...