Подтвердить что ты не робот

Svn checkout и обновление без каталога .svn

У меня есть сайт под svn, и я хочу поменять текущий веб-сайт на то, что в настоящее время находится в репозитории (то есть эффективно вызывать обновление svn на веб-сайте), но я не хочу каталогов .svn в каждой папке на производстве сайт.

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

В git вы можете создать и отделить дерево работы и нажать обновления для проекта таким образом (согласно http://toroid.org/ams/git-website-howto), Я в основном хочу иметь возможность сделать что-то подобное в svn.

4b9b3361

Ответ 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 веб-сайта, а затем опубликовать способ, описанный в статье, которую вы связали. Очевидно, что это не просто прямое решение.