свадмин дамп в мерзавец - PullRequest
       42

свадмин дамп в мерзавец

2 голосов
/ 21 февраля 2010

Я перевожу кучу своих работ из личного репозитория SVN в репозиторий git. У меня была настройка cron, которая запускает дамп svnadmin каждую ночь на всех моих репозиториях в удаленную папку. Есть ли подобная функциональность в git?

Кроме того, я не полностью понимаю git, так что эта логика, скорее всего, неверна, но я держал все свои репозитории svn в одном каталоге (/ home / svn /), создает ли git аналогичный каталог, который я могу просто скопировать в удаленное местоположение? Или он хранит только снимки в каталоге .git?

Ответы [ 3 ]

4 голосов
/ 21 февраля 2010

Вы можете просто использовать git clone . Обратите внимание, что git не имеет эквивалента svnadmin, поскольку каждая «рабочая копия» git (если использовать термины SVN) является полным хранилищем.

1 голос
/ 14 мая 2012
#!/bin/bash
# tar.bz2 to the stdout the git repo from the current dir.
TMP=`mktemp -d`
trap "rm -rf $TMP" EXIT
git clone --template=. --mirror . "$TMP" && tar -cjC "$TMP" .

ps: не каждая рабочая копия git является полным хранилищем. Большинство из них, однако созданный в приведенном ниже примере, нет.

git clone --depth 4 . `mktemp -d`
0 голосов
/ 21 февраля 2010

Нет способа (встроенного в git) скопировать / отразить несколько репозиториев на удаленном компьютере. Либо ваша новая задача cron должна будет клонировать / выдвигать каждый репозиторий отдельно, вы можете использовать другой способ для синхронизации всех репозиториев. Репозитории - это просто обычные файлы, поэтому, если вы храните их все в /srv/svn или аналогичном, вы можете просто rsync этот каталог на другом компьютере.

Могут быть проблемы с использованием rsync в то время, когда хранилища обновляются, но если это для личного использования, вы, вероятно, в значительной степени можете гарантировать, что хранилища "простаивают" в ночное время или около того. 1006 *

...