aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorGravatar Runxi Yu2026-03-24 09:03:13 +0000
committerGravatar Runxi Yu2026-03-24 09:03:13 +0000
commitad25bb029ae430ffadfe6afd86bab4eed33a9a76 (patch)
tree943db5c4b7ca9e1eec2038c4550592e95dbe2ddf /README.md
parentREADME: otherwise (diff)
signatureNo signature
ROADMAP: Split from README v0.1.105
Diffstat (limited to 'README.md')
-rw-r--r--README.md214
1 files changed, 0 insertions, 214 deletions
diff --git a/README.md b/README.md
index 2f31d1fc..eb93f43a 100644
--- a/README.md
+++ b/README.md
@@ -94,220 +94,6 @@ over the stores that `Repository` already exposes:
`commitquery` over the existing and quarantined object stores. Some hooks
are provided.
-## Features
-
-* Configuration
- * [X] Parsing
- * [ ] Includes
- * [ ] Writing
-* [X] Object IDs
- * [X] SHA-256
- * [X] SHA-1
-* [X] Object model (incl., parse, serialize)
- * [X] Blobs
- * [X] Trees
- * [X] File mode definitions
- * [X] Entry insertion ordering
- * [X] Traversal
- * [ ] Pathspec
- * [X] Commits
- * [X] Annotated tags
- * [X] Stored objects
-* Further cryptography
- * [ ] OpenPGP signatures
- * [ ] SSH signatures
-* [X] Reading object stores
- * [X] Pluggable interface
- * [X] Chain lookup store
- * [X] Bundle store
- * [X] MRU lookup store
- * [X] Reading loose objects
- * [ ] Promisor remotes
- * [ ] Alternates
- * [X] Reading packed objects
- * [X] Pack index lookups
- * [X] Delta caching
- * [X] Delta application
- * [ ] Pack-wide bloom filters
- * [ ] Multi pack indexes
-* [ ] Writing objects
- * [X] Loose object writing
-* Misc bundle features
- * [ ] Writing bundles
-* Misc packfile features
- * [X] Writing pack indexes
- * [X] Writing reverse pack indexes
- * [ ] Writing packfiles
- * [ ] Writing thin packs
- * [ ] Compressing deltas
- * [ ] Delta islands
- * [ ] Pack verification
-* Compression
- * [ ] Plugabble compression algorithms
- * [X] ZLIB support
- * [ ] DEFLATE optimizations
- * [X] Adler-32 SIMD optimizations
-* [X] References
- * [X] Detached references
- * [X] Symbolic references
- * [X] Name verification/resolution
- * [X] Annotated tag ref peeling
- * [ ] Describe
- * [ ] Revision syntax
- * [ ] Namespaces
- * [ ] Replace refs, grafts
-* [X] Reference stores
- * [X] Chain lookup store
- * [X] Files reference store
- * [X] Reading loose refs
- * [X] Reading packed refs
- * [X] Atomic writes
- * [X] Batched writes
- * [ ] Packing refs
- * [ ] Reflogs
- * [ ] Reftable
-* Reachability
- * [X] Have/wants walks
- * [X] Is ancestor
- * [X] Merge bases
- * [X] Commit graph
- * [X] Changed path bloom filters
- * [X] Chained graphs
- * [ ] Writing
- * [ ] Reachability bitmaps
- * [ ] For a single packfile
- * [ ] For Multi pack indexes
-* Misc repository
- * [X] Opening relevant stores
- * [ ] Creating repositories
- * [ ] Filter branch/repo
- * [ ] Fast import/export
- * [ ] Git notes
- * [ ] Git attributes
- * [ ] Pseudorefs
- * Integrity and maintenance
- * [ ] Fsck
- * [ ] Repacking
- * [ ] Garbage collection
- * [ ] Cruft packing
- * [ ] Expiration
- * [ ] Grep
- * [ ] Submodules
- * [ ] Worktrees
- * [ ] Archive
- * [ ] LFS
- * [ ] Revision log walk
- * [ ] Topological ordering
- * [ ] Date ordering
- * [ ] Path-limited
-* [ ] Diffing
- * [ ] Blame
- * [ ] Annotate
- * [X] Tree diffing
- * [ ] Similarity/rename/copy detection
- * [ ] Multi-way diffs
- * [ ] Patch-id
- * [ ] Range-diff
- * Blob diffing
- * [ ] Word diffs
- * [X] Myers
- * [ ] Patience
- * [ ] Histogram
- * [ ] Tree-way
- * [ ] Format patch
- * [ ] Apply/amend patch
-* Branch integration/rewrite/etc methods
- * [ ] Merge
- * [ ] Recursive
- * [ ] ORT
- * [ ] Rebase
- * [ ] Cherry pick
- * [ ] Revert
- * [ ] Rerere
-* Network protocols and related features
- * [X] pkt-line
- * [X] side-band-64k
- * [X] Ingesting packfiles
- * [X] Quarantine areas
- * [X] Un-thinning thin packs
- * Version 0, version 1 protocols
- * [X] Server side
- * [X] Reference advertisement
- * [X] Capability negotiation
- * [X] Receive
- * [ ] "Upload"
- * [ ] Client side
- * [ ] Send
- * [ ] Fetch
- * Version 2 protocol
- * [ ] Server side
- * [ ] "Upload"
- * [ ] Client side
- * [ ] Fetch
- * Protocol-independent logic
- * Common
- * [X] Progress meters
- * Client side
- * [ ] Refspec
- * [ ] Fetch
- * [ ] Partial clones
- * [ ] Object filtering
- * [ ] Bundle URI
- * [ ] Packfile URI
- * [ ] Shallow clones
- * [ ] Send
- * Server side
- * [ ] Upload
- * [ ] Object filtering
- * [X] Receive
- * [ ] Signed push
- * Hooks
- * Slots
- * [ ] After ref negotiation
- * [X] After object unpacking
- * Provided samples
- * [X] Chain
- * [X] Force push rejection
-* [ ] Working trees
- * [ ] Stashing
- * [ ] Ignore rules
- * [ ] Checkouts
- * [ ] Sparse checkouts
- * [ ] CR/LF conversions
- * [ ] File mode conversions
- * [ ] Indexes
- * [ ] Conflict resolution
- * [ ] Split index
- * [ ] Sparse index
- * [ ] Untracked cache
- * [ ] Status listing
- * [ ] Filesystem monitor
- * [ ] Worktree
- * [ ] Common directory
- * [ ] Worktree-specific references
-* Research
- * [ ] Dynamic packfiles
- * [ ] Compaction; page-sized hole punching
- * [ ] Dynamic indexing
- * [ ] Linear/extendible/spiral hashing
- * [ ] Dynamic reachability bitmaps
-
-## Not planned
-
-* CLI tools
-* Clone
-* Anything reasonably considered "porcelain"
-* Credential helper
-* Transports
-* Auth
-* Remote management
-* Bisect
-* Any use of env vars
-* Repository discovery walking
-
-I might make a second project that supports these.
-Furgit will probably not, and will remain sans-IO.
-
## Benchmarks
* See [gitbench](https://git.sr.ht/~runxiyu/gitbench).