fix(new): answers point at gitea, an existing repo is adopted #1

Merged
hh merged 2 commits from deploy-scheme into main 2026-10-08 18:46:07 +00:00
Owner

Баг 6 из перевода cars-system 07.10. Не сливать без решения человека.

С TEMPLATES_DIR в ответы писался локальный путь

copier пишет в .copier/*.yml → _src_path то, откуда рендерил. С TEMPLATES_DIR=~/projects/templates там оказывался путь на этой машине, и updateproject на любой другой падал. Теперь после рендера ответы, указывающие на локальные чекауты, переписываются на https://git.kotikot.com/templates/<имя>.git. updateproject всегда обновляет из Gitea — изменение шаблона надо запушить до обновления проектов (README).

Проверено: TEMPLATES_DIR=… TEMPLATES_REF=HEAD newproject … --parts backend,caddy --defaults — во всех трёх ответах _src_path = адрес в Gitea.

Подключение существующей репы

Если репа в Gitea уже с коммитами, а в свежем проекте коммитов ещё нет (newproject для кода, который уже лежит в Gitea), раньше не происходило ничего: origin добавлялся, но история репы и отрендеренные файлы жили отдельно. Теперь (adopt) история репы становится локальной (fetch, ветка по умолчанию, upstream), отрендеренное остаётся незакоммиченными правками поверх неё, файлы, которых шаблоны не знают, восстанавливаются как в репе. Дальше — git status / git diff, своё оставить, остальное закоммитить. Если локальные коммиты уже есть — ничего не трогает и говорит, что сливать руками. Без git (init_git: false) при непустой репе делает git init.

Проверено на локальной bare-репе (Gitea не трогал): ветка main...origin/main, README.md изменён шаблоном, Makefile новый, app.py из репы на месте, лог — коммит репы.

🤖 Generated with Claude Code

Баг 6 из перевода cars-system 07.10. **Не сливать без решения человека.** ## С `TEMPLATES_DIR` в ответы писался локальный путь copier пишет в `.copier/*.yml` → `_src_path` то, откуда рендерил. С `TEMPLATES_DIR=~/projects/templates` там оказывался путь на этой машине, и `updateproject` на любой другой падал. Теперь после рендера ответы, указывающие на локальные чекауты, переписываются на `https://git.kotikot.com/templates/<имя>.git`. `updateproject` всегда обновляет из Gitea — изменение шаблона надо запушить до обновления проектов (README). Проверено: `TEMPLATES_DIR=… TEMPLATES_REF=HEAD newproject … --parts backend,caddy --defaults` — во всех трёх ответах `_src_path` = адрес в Gitea. ## Подключение существующей репы Если репа в Gitea уже с коммитами, а в свежем проекте коммитов ещё нет (`newproject` для кода, который уже лежит в Gitea), раньше не происходило ничего: origin добавлялся, но история репы и отрендеренные файлы жили отдельно. Теперь (`adopt`) история репы становится локальной (`fetch`, ветка по умолчанию, upstream), отрендеренное остаётся незакоммиченными правками поверх неё, файлы, которых шаблоны не знают, восстанавливаются как в репе. Дальше — `git status` / `git diff`, своё оставить, остальное закоммитить. Если локальные коммиты уже есть — ничего не трогает и говорит, что сливать руками. Без git (`init_git: false`) при непустой репе делает `git init`. Проверено на локальной bare-репе (Gitea не трогал): ветка `main...origin/main`, `README.md` изменён шаблоном, `Makefile` новый, `app.py` из репы на месте, лог — коммит репы. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
hh added 1 commit 2026-10-08 04:41:48 +00:00
hh added 1 commit 2026-10-08 18:43:18 +00:00
hh merged commit 19f08ea71c into main 2026-10-08 18:46:07 +00:00
hh deleted branch deploy-scheme 2026-10-08 18:46:07 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: templates/newproject#1