feat(git): add FetchRemoteBranch, Checkout, ListRemoteBranches to Runner

This commit is contained in:
2026-06-10 17:56:47 +08:00
parent b20435c027
commit a49d45a846
3 changed files with 72 additions and 0 deletions
+3
View File
@@ -23,6 +23,7 @@ const stderrTruncateLimit = 2000
type Runner interface {
Clone(ctx context.Context, dst, remoteURL, branch string, cred *Credential) error
Fetch(ctx context.Context, dir string, cred *Credential) error
FetchRemoteBranch(ctx context.Context, dir, branch string, cred *Credential) error
Push(ctx context.Context, dir, branch string, cred *Credential) error
Commit(ctx context.Context, dir, message string, addAll bool) (sha string, err error)
Status(ctx context.Context, dir string) ([]FileStatus, error)
@@ -30,6 +31,8 @@ type Runner interface {
WorktreeAdd(ctx context.Context, dir, branch, path, startPoint string) error
WorktreeRemove(ctx context.Context, dir, path string) error
WorktreeList(ctx context.Context, dir string) ([]Worktree, error)
ListRemoteBranches(ctx context.Context, dir string, cred *Credential) ([]string, error)
Checkout(ctx context.Context, dir, branch string) error
}
// FileStatus 表示 `git status --porcelain=v1` 的一行。