Автоматически экспортировать содержимое хранилища SVN в другой каталог?
Во-первых, я хотел бы прояснить небольшой вопрос, который у меня есть, правильно ли я считаю, что файлы в SVN-репо на самом деле не существуют в иерархической структуре, которую вы видите, когда проверяете их?
Я пытался использовать svn export ~/svn/project1 ~/public_html/project1
но это не сработало.
На самом деле я хочу, чтобы команда экспорта автоматически выполнялась, когда я делаю коммит, чтобы я мог сразу увидеть свои изменения в веб-браузере.
2 ответа
Правильно ли я считаю, что файлы в SVN-репо на самом деле не существуют в иерархической структуре, которую вы видите, когда проверяете их
Правильно... они на самом деле существуют в своего рода БД в каталоге хранилища. Однако вы можете вызвать svn-экспорт для рабочей копии или URL-адреса хранилища. Допустим, ваш репо находится в системе на /svn/myproject
и у вас есть рабочая копия trunk
в ~/myproject
тогда любая из следующих командных комбинаций будет экспортироваться правильно:
svn export --force ~/myproject ~/public_html
svn export --force file:///svn/myproject/trunk ~/public_html
Конечно, вы можете заменить svn
, http
, или же svn+ssh
для file
протокол в зависимости от того, как ваш доступ настроен.
Да; см. где мои файлы SVN?
Автоматический экспорт может быть выполнен с помощью хука post-commit.