Fast implementation of Git in pure Go codeberg.org/lindenii/furgit
git go
6
fork

Configure Feed

Select the types of activity you want to include in your feed.

furgit: Broad architecture ish docs?

Runxi Yu fb9eb058 1eb4f762

+13
+13
furgit.go
··· 1 1 // Package furgit provides low-level Git operations. 2 2 // 3 + // Git libraries often center on a repository type that owns objects, refs, 4 + // worktree state, and configuration behind a single facade. Furgit inverts 5 + // that: objects are plain values, stored objects are separate types that 6 + // associate objects with their object IDs, object storage and ref storage 7 + // are sets of narrow interfaces consisting only of things that are truly 8 + // reasonable for all implementations to satisfy, and every higher-level 9 + // operation, such as commit traversal, reachability analysis, and 10 + // recursive peeling, is built over those interfaces. 11 + // 12 + // While the [repository] package is where most users should begin, it only 13 + // exists as one convenient composition of those pieces for the standard 14 + // on-disk repository layout. Nothing should depend on it. 15 + // 3 16 // # Contract labels 4 17 // 5 18 // Many furgit APIs document concurrency, dependency ownership, value lifetime,