fix: git push не поддерживает --config → глобальная опция -c перед подкомандой
All checks were successful
CI / test (push) Successful in 48s
CI / build-and-package (amd64, linux) (push) Successful in 42s
CI / build-and-package (amd64, windows) (push) Successful in 45s

У `git push` нет длинной опции --config (в отличие от `git clone`),
поэтому пуш feature-ветки после ревью падал с 'unknown option config'
(R6: review push failed). Конфиг http.extraHeader с токеном теперь
передаётся глобальной опцией `-c <key>=<value>` перед подкомандой push.
This commit is contained in:
Hermes
2026-08-17 15:46:35 +05:00
parent bb9f0bdc43
commit bdd9b41e56

View File

@@ -41,11 +41,12 @@ func (w *Worker) branchDiff(ctx context.Context, repoDir, branch string) (string
// pushBranch пушит feature-ветку в origin (remote 'origin' создан при клоне). // pushBranch пушит feature-ветку в origin (remote 'origin' создан при клоне).
// Токен передаётся через http.extraHeader, если задан. // Токен передаётся через http.extraHeader, если задан.
func (w *Worker) pushBranch(ctx context.Context, repoDir, branch string) error { func (w *Worker) pushBranch(ctx context.Context, repoDir, branch string) error {
args := []string{"push"} args := []string{"push", "origin", "HEAD:" + branch}
if w.GitToken != "" { if w.GitToken != "" {
args = append(args, "--config", "http.extraHeader=Authorization: Bearer "+w.GitToken) // У `git push` НЕТ опции --config (в отличие от clone). Конфиг задаётся
// глобальной опцией `-c <key>=<value>`, которая идёт ДО подкоманды.
args = append([]string{"-c", "http.extraHeader=Authorization: Bearer " + w.GitToken}, args...)
} }
args = append(args, "origin", "HEAD:"+branch)
_, err := w.git(ctx, repoDir, args...) _, err := w.git(ctx, repoDir, args...)
return err return err
} }