Есть интересный трюк, который позволяет иметь информацию об обновлениях версий вашей программы. Наверняка, он широко известен, поскольку достаточно прост, но вот я до него относительно недавно дошел.
Есть задача – получить список всех версий обновлений программы и получить последнюю (актуальную) версию. Обновления выполняются через rsync, т.е. инкрементально.
Для этого нужно в релизе (на rsync сервере) вашей программы добавить 2 файла: VERSION
и version-1.2.3
, где 1.2.3 – номер версии релиза. В оба файла записать номер версии релиза. При обновлении из rsync не удалять существующие файлы (флаг --delete
), поскольку в директории с программой хранятся конфиги. Тогда в файле VERSION
будет храниться актуальная версия, а список версий обновлений можно получить пройдясь по всем файлам по маске version-*
.