package git

import "context"

// MergeFFOnly 在 dir 执行 git merge --ff-only（无参数，默认合并当前分支的
// @{upstream}）。fetch 后用它把当前分支快进到 @{upstream}；当分支分叉或工作区
// 有冲突而无法 fast-forward 时返回错误，由上层处理。
func (r *DefaultRunner) MergeFFOnly(ctx context.Context, dir string) error {
	ctx, cancel := withCtx(ctx, r.cfg.OpsTimeout)
	defer cancel()
	_, _, err := r.exec(ctx, dir, nil, "merge", "--ff-only")
	return err
}
