Я пытаюсь настроить определенный рабочий процесс, но не могу понять, как (или если) rsync будет работать для этого.
Моя настройка на Mac OS X.
У меня есть каталог SVN. Когда я запускаю сценарий развертывания, файлы перемещаются на мой сервер Apache интеграции. Я выполняю свои модификации файлов, затем вручную копирую их обратно в SVN.
Причина, по которой я это сделал, заключается в том, что мне нужно немедленно увидеть изменения в браузере, когда я редактирую html, css и javascript. Но попытки скопировать и отследить это занимают много времени, и я хочу автоматизировать это.
Я хочу использовать rsync, чтобы определить файлы, которые я изменил, в веб-каталоге Apache, а затем скопировать эти файлы обратно в SVN.
У меня есть команда rsync, которую я тестировал, но проблема, с которой я сталкиваюсь, заключается в том, что, поскольку временные метки развернутых файлов новее, чем в SVN, rsync хочет скопировать все файлы обратно, потому что он видит их как новые файлы.
Я также экспериментировал с diff, и он обнаружил различия в файлах. Я полагаю, что могу собрать сценарий оболочки, который может использовать комбинацию diff, grep и cp для выполнения этой работы, но я хотел посмотреть, может ли rsync быть решением «все в одном».
rsync -avuzn --exclude=web-inf/classes/ --exclude=web-inf/lib/ /var/www/web-inf /usr/local/src/svn/WEB-INF