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