aboutsummaryrefslogtreecommitdiff
path: root/ROADMAP.md
diff options
context:
space:
mode:
Diffstat (limited to 'ROADMAP.md')
-rw-r--r--ROADMAP.md211
1 files changed, 211 insertions, 0 deletions
diff --git a/ROADMAP.md b/ROADMAP.md
new file mode 100644
index 00000000..da2b31a8
--- /dev/null
+++ b/ROADMAP.md
@@ -0,0 +1,211 @@
+# Roadmap
+
+* 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
+