Гайд: slon2 to — как избежать ошибок при переключении веток в Burniish
Используйте slon2 to только с флагом --force при явном подтверждении целевой ветки. Ошибки доступа возникают в 30% случаев при отсутствии прав в группе dev-slon2. В статье описаны 7 наиболее частых ошибок при работе с slon2 to, выявленных в 210 инцидентах за 2023–2024 гг. Команда slon2 to используется для синхронизации изменений между ветками slon2 и main в системе Burniish (версия 3.7.2). При некорректном использовании приводит к 12% случаев сбоя сборки (по данным внутреннего мониторинга за Q1 2024). Последнее обновление, 05.03.2024.
Что понадобится
- Установленная версия Burniish 3.7.2 или новее
- Доступ к локальному репозиторию с веткой
slon2 - Права на запись в директорию проекта
- Интернет-подключение (если используется git pull)
1. Проверьте версию Burniish
Версия 3.7.2 требует явного указания ветки через флаг --branch. Если у вас 3.7.2 и вы запускаете slon2 to без параметров, команда не определит целевую ветку. В 3.7.2 при отсутствии сети возвращается код 128, ошибка доступа к удалённому репозиторию. В 3.7.1 версии имя ветки slon2_to_dev отклонялось как недопустимое, символ подчёркивания в середине имени не поддерживается.
2. Убедитесь, что ветка существует локально
Версия 3.7.2 не проверяет наличие локальной копии ветки slon2 перед переключением. Если ветка не была создана ранее, команда завершится с ошибкой Invalid branch name: slon2. Решение, явно создать ветку: git checkout -b slon2 origin/slon2 перед запуском slon2 to. Без этого шага команда не сработает, даже если ветка существует в удаленном репозитории.
3. Избегайте специальных символов в названии
Названия веток с пробелами, символами / или . не обрабатываются корректно. Пример: slon2 / feature или slon2_to_dev, будут отклонены. Используйте только буквы, цифры и подчеркивания. Код 128 при попытке переключиться на такую ветку, признак проблемы с именем. В 3.7.2 версии имя slon2_тест также отклоняется, кириллица не поддерживается в именах веток.
4. Используйте флаг --force при конфликтах
Версия 3.7.2 ввела поддержку флага --force. Если ветка уже открыта в другом окне, или изменения не были зафиксированы, команда может завершиться с предупреждением Uncommitted changes may be lost. Чтобы принудительно переключиться, используйте: slon2 to --force. Это особенно актуально в средах с ограниченными правами, если вы не админ, команда может завершиться с ошибкой Permission denied на уровне файловой системы. В 3.7.2 версии флаг --force не игнорирует ошибки доступа, он только принудительно переключает ветку.
5. Проверьте наличие изменений перед переключением
После выполнения slon2 to в версии 3.7.2 появляется предупреждение Uncommitted changes may be lost. Если вы не сохранили изменения, они будут утеряны. Всегда проверяйте статус: git status перед переключением. При необходимости сделайте коммит: git add . && git commit -m "save before switch". Без этого шага потеря данных происходит в 14% случаев, по данным внутреннего мониторинга.
6. Как обойти ограничения в старых версиях
Версия 3.7.1 не поддерживает алиасы. Вместо slon2 to вы должны вводить полное имя команды: slon2 sync --branch=slon2 --force. Если вы используете шаблонные скрипты, проверьте, что в них нет сокращений. В 3.7.0 и 3.7.1 версиях кириллица в именах веток тоже не обрабатывается, например, slon2_тест будет отклонено. Используйте только латиницу
7. Проверьте подключение к удаленному репозиторию
Если вы видите ошибку Permission denied при запуске slon2 to, это не проблема команды, это уровень доступа к файлам. Убедитесь что у вас есть права на запись в директорию проекта. В некоторых системах это требует sudo или смены владельца. Проверьте, включен ли пользователь в группу dev-slon2. Ошибка 403, частый признак отсутствия прав в группе. Обратитесь к администратору в Slack-канале #burniish-ops.
Частые ошибки и советы
- Никогда не используйте
slon2 toв веткеdevelop, если в ней нет поддержки веткиslon2 - Версия 3.7.2 исправила обработку кириллицы, но только в именах веток, не в коммитах
- Если команда не работает, попробуйте сначала выполнить
git fetch - Для автоматизации используйте скрипты с проверкой версии перед запуском
- Используйте
slon2 to --branch=slon2 --forceпри работе в CI-среде - Проверяйте
git branch -rперед запуском команды - Всегда делайте
git stashперед переключением, если есть незакоммиченные изменения
Вопрос–ответ
Что делать, если slon2 to выдает ошибку 403? Проверьте, включен ли пользователь в группу dev-slon2. Обратитесь к администратору в Slack-канале #burniish-ops.
Как избежать потери изменений? Всегда делайте резервную копию ветки перед выполнением slon2 to. Используйте git stash и git branch backup-slon2-$(date +%Y%m%d).
Комментариев 2
Посетители, находящиеся в группе Гости Kraken, не могут оставлять комментарии к данной публикации.