问题
部分用户的需求是"代码冷备到外接硬盘 / NAS / 光盘",不需要一个可运行的 git 仓库。当前 GitRelay 的 dst 必须是 git remote,无法满足离线归档场景。
建议改动
AddEditRepoSheet 的 target 类型下拉新增 filesystem
- 目标参数:选文件夹路径 + 归档格式(
tar.gz / zip / git bundle)
- 同步时:
- 更新本地 bare mirror(现有逻辑)
- 按配置的文件名模板(
{name}-{date}.tar.gz)压缩/打包
- 可选 retention:只保留最近 N 份,旧的自动清理
- 进度条反映归档阶段(大仓库压缩耗时明显)
备选方案
launchd + shell 脚本调用 git bundle:用户自己写,维护成本高
- 依赖 Time Machine 备份 bare clone 目录:受限于 Time Machine 策略,粒度差
作用域检查
问题
部分用户的需求是"代码冷备到外接硬盘 / NAS / 光盘",不需要一个可运行的 git 仓库。当前 GitRelay 的 dst 必须是 git remote,无法满足离线归档场景。
建议改动
AddEditRepoSheet的 target 类型下拉新增filesystemtar.gz/zip/git bundle){name}-{date}.tar.gz)压缩/打包备选方案
launchd+ shell 脚本调用git bundle:用户自己写,维护成本高作用域检查
tar/zip/git bundle均为系统自带)