Я использую SVN-репозиторий для моей работы по веб-разработке. У меня есть сайт разработки, в котором хранится проверка хранилища.
Я установил привязку post-commit SVN, так что всякий раз, когда в репозиторий делается фиксация, сайт разработки обновляется:
cd /home/www/dev_ssl
/usr/bin/svn up
Это прекрасно работает, но из-за размера хранилища обновления требуют много времени (около 3 минут), что довольно сложно при совершении регулярных коммитов. Я хотел бы изменить привязку после фиксации, чтобы обновлять только те файлы/каталоги, которые были совершены, но я не знаю, как это сделать. Обновление "самого низкого общего каталога", вероятно, будет лучшим решением, например.
Если зафиксировать следующие файлы:
- /branches/feature_x/images/logo.jpg
- /branches/feature_x/css/screen.css
Он обновит каталог:/branches/feature_x/
Может ли кто-нибудь помочь мне создать решение, которое достигает этого?
Обновить:
- Сайт репозитория и разработки находится на одном сервере, поэтому сетевые проблемы не должны быть задействованы.
- Использование ЦП очень низкое, и ввод-вывод должен быть в порядке (он работает на выделенном сервере hi-spec)
- Сайт разработки ок. 7,5 ГБ и содержит ок. 600 000 элементов, в основном это связано с наличием нескольких ветвей/тегов