Уточнить: Agent коммитит через scripts/git-commit.sh
This commit is contained in:
+8
-9
@@ -68,20 +68,19 @@ rebar3 as test eunit
|
|||||||
rebar3 ct --suite=api_admins_SUITE
|
rebar3 ct --suite=api_admins_SUITE
|
||||||
```
|
```
|
||||||
|
|
||||||
### Git-коммиты — только из WSL-терминала
|
### Git-коммиты из WSL (Agent и разработчик)
|
||||||
|
|
||||||
Коммиты из **Agent Shell / PowerShell** ломаются: Cursor подставляет `--trailer "Co-authored-by: Cursor <cursoragent@cursor.com>"`, а PowerShell падает на `<`.
|
Коммиты из **Agent Shell / PowerShell** ломаются: Cursor подставляет `--trailer "Co-authored-by: Cursor <cursoragent@cursor.com>"`, а PowerShell падает на `<`.
|
||||||
|
|
||||||
**Правило:** `git add` / `git commit` / `git push` — в WSL (`bash -lic` или встроенный терминал WSL), не через Agent.
|
**Решение:** Agent коммитит через WSL-скрипт (в команде нет строки `git commit`):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd /mnt/c/Users/alexc/IdeaProjects/eventHub/EventHubBack # или EventHubSpec
|
bash scripts/git-commit.sh "сообщение. Refs EventHub/EventHubBack#N" path/to/file ...
|
||||||
git status
|
|
||||||
git add <files>
|
|
||||||
git commit -m "сообщение. Refs EventHub/EventHubBack#N"
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Attribution в Cursor (Settings → Agent → Attribution) можно выключить, но WSL-терминал надёжнее.
|
Скрипт лежит в `scripts/git-commit.sh` каждого репо. Ручной коммит — тот же вызов в WSL-терминале.
|
||||||
|
|
||||||
|
Attribution в Cursor (Settings → Agent → Attribution) можно выключить дополнительно.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -124,7 +123,7 @@ Attribution в Cursor (Settings → Agent → Attribution) можно выклю
|
|||||||
- Код фичи — в репозитории-владельце; `EventHubSpec` — для документации и процесса.
|
- Код фичи — в репозитории-владельце; `EventHubSpec` — для документации и процесса.
|
||||||
- Метки во всех репозиториях держать одинаковыми (`sync-labels.ps1`).
|
- Метки во всех репозиториях держать одинаковыми (`sync-labels.ps1`).
|
||||||
- Секреты и токены не коммитить; Gitea token — только в env / `~/.cursor/secrets/`.
|
- Секреты и токены не коммитить; Gitea token — только в env / `~/.cursor/secrets/`.
|
||||||
- **Git commit/push — из WSL-терминала**, не из Agent Shell (см. §2.1).
|
- **Git commit/push — через WSL** (`scripts/git-commit.sh`), не `git commit` из Agent Shell (см. §2.1).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -132,6 +131,6 @@ Attribution в Cursor (Settings → Agent → Attribution) можно выклю
|
|||||||
|
|
||||||
| Дата | Изменение |
|
| Дата | Изменение |
|
||||||
|------|-----------|
|
|------|-----------|
|
||||||
| 2026-07-07 | §2.1: WSL-окружение, git-коммиты только из WSL-терминала |
|
| 2026-07-07 | §2.1: WSL, git-коммиты через `scripts/git-commit.sh` |
|
||||||
| 2026-07-07 | Правило: варианты решения и утверждение перед реализацией |
|
| 2026-07-07 | Правило: варианты решения и утверждение перед реализацией |
|
||||||
| 2026-07-07 | Первая версия: Gitea workflow, gate тестирования, sync спеки |
|
| 2026-07-07 | Первая версия: Gitea workflow, gate тестирования, sync спеки |
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# Обход: Agent Shell ломает "git commit" в PowerShell (trailer с <).
|
||||||
|
# Вызов: bash scripts/git-commit.sh "message" [paths...]
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
if [ $# -lt 2 ]; then
|
||||||
|
echo "Usage: git-commit.sh \"message\" <paths...>" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
MSG=$1
|
||||||
|
shift
|
||||||
|
REPO_ROOT=$(cd "$(dirname "$0")/.." && pwd)
|
||||||
|
cd "$REPO_ROOT"
|
||||||
|
|
||||||
|
git add "$@"
|
||||||
|
/usr/bin/git commit -m "$MSG"
|
||||||
|
git log -1 --oneline
|
||||||
Reference in New Issue
Block a user