Hasty Briefsbeta

Furgit: Fast implementation of Git in pure Go

7 days ago
  • #Performance
  • #Git
  • #Go
  • Furgit is a fast Git library written in pure Go, currently in initial development with no tagged releases yet.
  • The API is unstable and not recommended for production use; future releases may follow Semantic Versioning 2.0.0.
  • Furgit originated from Villosa, a work-in-progress software development forge, and is intended as a library, not a CLI tool replacement.
  • Designed for concurrent use across goroutines, enabling long-running applications like forges to maintain repository pools for rapid access.
  • Focuses on performance, with benchmarks showing it matches upstream Git speed, outperforms libgit2 by 10x, and go-git by 1000x in certain operations.
  • Supports SHA-256 by default with an option for SHA-1 via build tags; future research may explore supporting both algorithms in a single build.
  • Requires Go 1.18 or later, with potential future drops of gccgo support if newer language features are needed.
  • Licensed under GNU AGPLv3 with a proxy designation for future version acceptance; contributors must sign-off commits agreeing to the Developer Certificate of Origin.
  • Hosted on Lindenii Forge with contribution guidelines involving unique branch naming and SSH key usage for pushes.
  • Includes experimental Villosa instance using Furgit as backend, with mirrors available but direct contributions to Lindenii Forge recommended.