Можно ли выполнить экспорт SVN без доступа к оболочке?
Вопрос
Я начал использовать subversion для одного из своих проектов, и было бы совершенно потрясающе, если бы я мог просто экспортировать последнюю версию из репозитория на моем производственном сервере, например, запустив скрипт php или perl.
Производственный сайт размещен у поставщика общего хостинга, который не разрешает доступ к оболочке или, например, к php exec()
функция.(Я не так уж много знаю о perl;Я знаю только, что мой хостер разрешает perl и пользовательские cgi-скрипты).
Возможно ли выполнить экспорт SVN в этой среде?
Решение
Насколько я знаю, не существует SVN-клиента, полностью написанного на PHP или Perl.ТАК что без exec вам не повезло.
Обходные пути:
- В зависимости от вашей собственной операционной системы и от того, какие методы у вас есть для доступа к вашему веб-пространству, вы можете смонтировать веб-пространство в вашей локальной файловой системе и просто использовать SVN-клиент вашей системы для проверки / обновления.
- Опять же, в зависимости от ваших методов доступа (я предполагаю, что ftp или sftp) вы можете обновить локальную проверку и синхронизировать любые изменения с веб-пространством.
Другие советы
SVN поддерживает доступ через WebDAV (т.е.HTTPS).Это означает, что для простого доступа на чтение вам на самом деле не нужен SVN-клиент для доступа к репозиторию SVN.Вы даже можете использовать веб-браузер или, в вашем случае, любую функцию PHP, которая принимает URL-адрес в качестве своего аргумента.SVN должен быть настроен на стороне сервера для работы с apache, для получения дополнительной информации ознакомьтесь с svn красная книга
Взгляните на это:
http://www.randomsequence.com/articles/svn-backup-script/
Конечно, для этого вам все еще нужен exec, но, как уже было сказано, будет нетрудно закодировать что-то на PHP, что запускает http-вызов вашего svn-сервера.
Или же, что-то вроде:
palaniraja.wordpress.com/2008/09/20/svn-export-only-updated-files-between-2-revisions/
Ваше здоровье!