Можно ли зафиксировать одинаковые файлы в 2 SVN-репозиториях? - PullRequest
1 голос
/ 30 мая 2009

Если у меня есть файлы, которые особенно важны, могут ли они быть сохранены в SVN в двух репозиториях?

Я могу настроить два SVN-репозитория на 2 разных компьютерах, чтобы в случае проблем с одной машиной всегда была резервная копия.

(будет лучше, если это будет черепаха или командная строка). спасибо.

Ответы [ 4 ]

7 голосов
/ 30 мая 2009

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

Подробнее: http://svn.apache.org/repos/asf/subversion/trunk/notes/svnsync.txt

1 голос
/ 30 мая 2009

Если вы беспокоитесь о потере данных репозитория, то создание автоматизированного резервного копирования является возможным решением. Команда "svnadmin dump" идеально подходит для этого.

Я использую этот скрипт для создания дампов всех моих репозиториев:

#!/bin/bash

DATE=`date "+%F"`
BACKUPDIR=/var/backup

# dump subversion repos.
# all subversion projects are in /usr/local/svn
for REPODIR in /usr/local/svn/*
do
    REPONAME=`basename $REPODIR`
    TARGET=svndump-$REPONAME-$DATE.gz
    echo backing up svn repository $REPODIR to $TARGET
    svnadmin dump $REPODIR | gzip > $BACKUPDIR/$TARGET || exit 1
done

Этот скрипт запускается из задания cron. Вы можете добавить команду rsync для копирования этих дампов на другой сервер.

1 голос
/ 30 мая 2009

Исходя из идеи activa (используя svnsync ), вы можете запустить svnsync после каждого коммита, запустив его в скрипте подключения SVN, например, post-commit . Таким образом, после каждой фиксации ваша дополнительная копия будет синхронизироваться с вашей основной копией, что всегда будет поддерживать вашу резервную копию в актуальном состоянии.

1 голос
/ 30 мая 2009

Хорошо, вы можете использовать post-commit-hook и зафиксировать весь репозиторий (или только важные файлы) в другом репозитории. Это избавит вас от боли, связанной с передачей всего в два репозитория, и станет элегантным решением.

...