Furgit: Fast implementation of Git in pure Go
3 months ago
- #Performance
- #Git
- #Go
- Furgit是一个用纯Go语言编写的高速Git库,目前处于初期开发阶段,尚未发布正式版本。
- 其API尚不稳定,不建议在生产环境中使用;未来版本可能遵循语义化版本2.0.0规范。
- 该项目源自开发中的软件协作平台Villosa,定位为库而非CLI工具替代品。
- 专为goroutine并发设计,支持长期运行的应用(如代码托管平台)维护仓库池以实现快速访问。
- 性能导向,基准测试显示其速度与上游Git相当,部分操作比libgit2快10倍,比go-git快1000倍。
- 默认支持SHA-256哈希算法,通过构建标签可选SHA-1;未来可能研究单次构建同时支持两种算法。
- 要求Go 1.18或更高版本,若需新语言特性可能放弃gccgo支持。
- 采用GNU AGPLv3许可证,含未来版本代理授权条款;贡献者须签署开发者原创证书。
- 托管于Lindenii Forge平台,贡献指南要求使用唯一分支命名和SSH密钥推送。
- 包含使用Furgit作为后端的实验性Villosa实例,建议直接向Lindenii Forge贡献而非镜像站。