Commit Graph
5 Commits
Author SHA1 Message Date
bircni 6e523d969d fix: address verified review findings (repo-mutations-sync-1)
Signed-off-by: bircni <bircni@icloud.com>
2026-10-18 17:38:53 +02:00
bircni 9df6cb7dd3 test: merge duplicate terminal, git and Actions service tests
Signed-off-by: bircni <bircni@icloud.com>
2026-10-12 20:49:32 +02:00
bircni ac0127fa83 fix(git): refuse to sync a branch checked out in another worktree
Signed-off-by: bircni <bircni@icloud.com>
2026-10-12 20:23:02 +02:00
bircni ea2e9aadbb fix(repo): sync a branch without switching to it
tea repo sync ran git switch on the synced branch, so syncing main while
on experiment left the user on main. A branch that is not checked out now
moves with update-ref, guarded by its old value; the checked-out branch
merges with --ff-only and needs a clean working tree; a missing branch is
created and set to track the remote. Diverged branches stay untouched.

Sync reports "✓ Synced main from origin/main (fast-forward a..b)" on a
terminal, "already up to date" when nothing changed, and the JSON result
gains the previous commit. Outside a clone, or without a remote for the
repository, the errors now name repo sync instead of checkout.

Signed-off-by: bircni <bircni@icloud.com>
2026-10-11 23:51:43 +02:00
bircni 88b91faa54 refactor: add credential and Git packages (#1123)
- `internal/auth`: credentials in the OS keyring or a private file, OAuth login with token refresh, SSH HTTP-signature signers (key files with passphrase prompt, ssh-agent keys and certificates), and the Git credential helper protocol.
- `internal/git`: cancellable Git subprocesses, repository and remote discovery (tracked remote via `branch.<name>.remote`), PR checkout by full ref, AGit push, branch cleanup.

Nothing imports these packages yet.

Reviewed-on: https://gitea.com/gitea/tea/pulls/1123
Reviewed-by: TheFox0x7 <95654+thefox0x7@noreply.gitea.com>
2026-10-11 17:09:37 +00:00