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

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

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

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

5 ответов

Решение

svn export работает аналогично checkout но без .svn каталоги. Тем не менее, вы не можете update такая структура, так как это не рабочая копия SVN.

Вы также можете настроить веб-сервер, чтобы запретить доступ к .svn каталоги и просто пойти с методом извлечения + обновления.

Как насчет rsync, настроенного не копировать каталоги ".svn"?

rsync --exclude=.svn local_svn_copy webserver:site/

Это можно выполнить повторно, чтобы обновить копию веб-сервера.

httpd.conf:

<Directory ~ "\.svn">
    Order allow,deny
    Deny from all
</Directory>

Как уже упоминал Лаалто svn export обеспечивает простой, но не очень эффективный способ обновления "рабочей копии" при многократном использовании:

milen@dev:~$ svn export --non-interactive --force "<URL>" <directory>

Вы также можете использовать git-svn создать git зеркало на сайте, а затем опубликовать способ, описанный в статье, на которую вы ссылаетесь. Очевидно, что это не прямое решение, хотя.

Другие вопросы по тегам