Напилил ветки в своём Gitgram
Всем привет, народ!
Продолжаю пилить Gitgram — это мой безумный эксперимент: полноценный git-подобный репозиторий прямо внутри Telegram-бота. Без GitHub, без браузера, всё через команды в чате.
Сегодня полностью закрыл ветки — теперь можно создавать, переключаться и видеть список. Вот что получилось:
Что напилил:
Добавил поле current_branch в таблицу projects
Создал новую таблицу branches:
Написал функцию get_current_branch(project_id) — возвращает текущую ветку, по умолчанию main
Команда /branches — показывает все ветки проекта + отмечает текущую. Если веток нет — автоматом создаёт main
Команда /branch <name> — создаёт новую ветку (с проверкой, что такой уже нет)
Команда /checkout <name> — переключается на ветку (обновляет current_branch в базе)
Был баг: sqlite3.OperationalError: no such column: current_branch Решил классикой: удалил старую базу, перезапустил бота — колонка добавилась автоматически. Иногда проще всё снести, чем фиксить миграции 😅
Тесты: Создал ветку test → переключился → /branches показал всё как надо. Работает заебись!
Скриншоты тестов и логов — в моём чате-дневнике, или на канале если интересно.
Теперь Gitgram умеет ветки — следующий шаг будет diffs (сравнение файлов между коммитами/ветками), но это уже завтра.
Что думаете?
Нормально ли выглядит идея git в Telegram?
Стоит ли дальше пилить PR/merge/issues?
Или это уже перебор и пора на этом остановиться? 😄
Пишите в комментах, что дальше пилить — могу сделать голосование в следующем посте.

Программирование на python
967 постов12K подписчик
Правила сообщества
Публиковать могут пользователи с любым рейтингом. Однако!
Приветствуется:
• уважение к читателям и авторам
• конструктивность комментариев
• простота и информативность повествования
• тег python2 или python3, если актуально
• код публиковать в виде цитаты, либо ссылкой на специализированный сайт
Не рекомендуется:
• допускать оскорбления и провокации
• распространять вредоносное ПО
• просить решить вашу полноценную задачу за вас
• нарушать правила Пикабу