Обновление Zeuz
Этот навык обновляет уже поставленный проект. Первая установка — это /zeuz-setup, другой разговор.
Правила
1. Сначала показать, потом делать. Сказать, какая версия стоит сейчас и какая опубликована, и показать список изменений. Человек решает, обновляться ли.
2. Грязное дерево — стоп. Если в рабочей копии есть незакоммиченные правки, назвать эти файлы и остановиться. Чужую работу не затираем.
3. Только вперед. Тянуть изменения --ff-only. Разошедшуюся историю не «чинить» силой, а показать и объяснить выбор.
4. Не трогать твое. Обновление не касается: собранные проекты в ZEUZ_PROJECTS, твои переменные среды и настройки хоста. Сказать это вслух до начала.
5. Проверить себя после. Прогнать статическую проверку исходника и назвать результат как есть, включая красный.
6. Не оставлять половину. Если обновиться начисто нельзя, сказать простыми словами, что делать дальше, и оставить проект в рабочем состоянии.
Ход обновления
git -C . status --short
git -C . pull --ff-only
bash smoke/smoke.sh
Что человек увидит: список изменившихся файлов, затем короткий отчет о том, что нового, затем результат проверки. Если проверка красная — это не «почти получилось», а незаконченное обновление, и об этом надо сказать прямо.
Если обновление не проходит
- Есть локальные правки. Назвать файлы и предложить два пути: закоммитить свое или отложить обновление. Не выбирать за человека.
- История разошлась. Объяснить, что это значит простыми словами: у тебя есть коммиты, которых нет наверху. Показать варианты и дать решить.
- Проверка красная после обновления. Назвать файл и строку, а не «что-то сломалось». Предложить откат на прежнюю версию одной командой.
Обновление, о котором человек узнал постфактум, — плохое обновление. Все, что делается, объявляется заранее.