Я только начинаю использовать Subversion с целью использовать его для управления моим сайтом.
Я настроил репозитории, импортировал все файлы для веб-сайта, и я с радостью проверяю и проверяю их, и это замечательный опыт - мне не нужно запоминать, какие файлы я изменил на каком компьютере, чтобы я мог получить последнюю версию с живого сервера!
Я установил место тестирования, где я могу svn export
проверить мой веб-сайт перед его загрузкой на действующий сервер. Я бы хотел, чтобы экспорт выполнялся автоматически, поэтому мне не нужно подключаться по SSH к серверу (что я не всегда могу сделать, в зависимости от того, где я нахожусь).
Я создал post-commit
скрипт, который просто сделал:
$ svn export <reposURL> <testingDIR> --force
дал сценарию ловушки выполнить все разрешения, а <testingDir>
имеет разрешения на групповую запись для веб-сервера.
Когда я сделал svn ci
со своего ноутбука, я получил ошибку:
Transmitting file data .svn: Commit failed (details follow):
svn: MERGE of '<pathOfRepos>': 200 OK
(http://svn.mydomain.com)
однако при последующем коммите возникла ошибка, что моя рабочая копия устарела, и кажется, что коммит действительно успешно завершился, экспорт не сделал.
Может кто-нибудь сказать мне, где я ошибся?
(работает последняя версия Ubuntu / Apache / SVN)
- Edit:
После долгих поисков и попыток, мне удалось понять, что причина, по которой он не работает, заключается в том, что моему хранилищу требуются имя пользователя и пароль при доступе через Интернет. Я изменил скрипт post-commit для локального доступа к хранилищу с помощью файла: // введите url, и теперь он работает нормально.
закрытие вопроса.