Documentation
¶
Overview ¶
Package localsync 负责把远程执行机上的任务分支同步到协调者本地仓库。
职责:
- 以 git fetch <url> <branch>:<branch> 把远程任务分支拉到本地同名分支
- 报告本次同步的增量(新建分支 / 新增提交数),供 CLI 打印给协调者
边界:
- 只 fetch,不 checkout、不 merge、不碰 HEAD——协调者本地可能正在改别的东西, 合不合、怎么合是人的决定
- 不解析 ssh 配置、不管凭证:RemoteURL 原样交给 git,认证由 ssh 自身完成
- 不判断「该不该同步」:触发时机由调用方(wait/pull)决定
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var FetchTimeout = 2 * time.Minute
FetchTimeout 是一次同步的时长上限:走 ssh 网络,且可能拉较大的提交集。
Functions ¶
This section is empty.
Types ¶
type Opts ¶
Opts 描述一次同步。
- LocalRepo: 本地仓库路径(通常是协调者的 cwd)
- RemoteURL: 远程仓库地址,形如 host:/path/to/repo(也接受本地路径,git 同一条路径处理)
- Branch: 要同步的任务分支名(取 task.Branch,不是从任务 ID 派生)
type Result ¶
Result 是一次同步的结果。
- Branch: 同步的分支名
- Commits: 相对同步前本地分支尖端新增的提交数;Created=true 时为 0(无基准可比)
- Created: 本地此前没有该分支,本次新建
Click to show internal directories.
Click to hide internal directories.