Я сейчас пишу сценарий обновления, который извлекает последнюю версию из ряда репозиториев и перестраивает проекты. Я хотел сделать сборку условной, поэтому я попробовал
hg pull -u && ant clean build
и вариант
hg pull; hg update && ant clean build
. Однако сборка муравья вызывается всегда, даже если ничего не изменилось. Я знаю, что могу использовать hg incoming
для проверки изменений перед выполнением вытягивания, но мне это кажется расточительным.
Как я могу проверить наличие новых изменений, не обращаясь к серверу дважды (один раз для hg incoming
, один раз для hg pull
)?
ОБНОВЛЕНИЕ: Вот мой сценарий сборки:
update() {
TIP=$(hg tip --template "{node"})
hg pull -u
if test "$TIP" != $(hg tip --template "{node}"); then
ant clean build
fi
}
(cd repo1; update )
(cd repo2; update )
И для людей, интересующихся, почему я каждый раз делаю чистую сборку, есть две причины: