Svn checkout и обновление без каталога .svn
У меня есть сайт под svn, и я хочу поменять текущий веб-сайт на то, что в настоящее время находится в репозитории (то есть эффективно вызывать обновление svn на веб-сайте), но я не хочу каталогов .svn в каждой папке на производстве сайт.
Есть ли способ настроить svn, чтобы папка .svn с информацией о версии не находилась в том же каталоге, что и файлы под управлением версиями?
В git вы можете создать и отделить дерево работы и нажать обновления для проекта таким образом (согласно http://toroid.org/ams/git-website-howto), Я в основном хочу иметь возможность сделать что-то подобное в svn.
Ответы
Ответ 1
svn export
работает аналогично checkout
, но без каталогов .svn
. Однако вы не можете update
создать такую структуру, поскольку она не является рабочей копией svn.
Вы также можете настроить веб-сервер для запрета доступа к каталогам .svn
и просто пойти с методом checkout + update.
Ответ 2
Как насчет конфигурации rsync, чтобы не копировать каталоги .svn?
rsync --exclude=.svn local_svn_copy webserver:site/
Это можно повторно запустить, чтобы обновить копию веб-сервера.
Ответ 3
httpd.conf:
<Directory ~ "\.svn">
Order allow,deny
Deny from all
</Directory>
Ответ 4
Как отметил laalto svn export
, для простого, но не очень эффективного метода обновления "рабочей копии" при повторном использовании:
[email protected]:~$ svn export --non-interactive --force "<URL>" <directory>
Ответ 5
Вы также можете использовать git-svn
для создания зеркала git веб-сайта, а затем опубликовать способ, описанный в статье, которую вы связали. Очевидно, что это не просто прямое решение.