Gitoxide
No description available
Install / Use
/learn @codebyhuman/GitoxideREADME
<img src="etc/msrv-badge.svg">
gitoxide is an implementation of git written in Rust for developing future-proof applications which strive for correctness and
performance while providing a pleasant and unsurprising developer experience.
gitoxide provides the gix and ein binaries for use on the command-line to allow experimentation with key features
like fetch and clone, and to validate the usability and control of the API offered by the gix crate.
gitoxide aspires to be a production-grade server implementation and the ein binary aspires to become the default way to interact with git repositories.
Development Status
The command-line tools as well as the status of each crate is described in the crate status document.
For use in applications, look for the gix crate,
which serves as entrypoint to the functionality provided by various lower-level plumbing crates like
gix-config.
Feature Discovery
Can
gixdo what I need it to do?
The above can be hard to answer and this paragraph is here to help with feature discovery.
Look at crate-status.md for a rather exhaustive document that contains
both implemented and planned features.
Further, the gix crate documentation with the git2 search term helps to find all currently
known git2 equivalent method calls. Please note that this list is definitely not exhaustive yet, but might help if you are coming from git2.
What follows is a high-level list of features and those which are planned:
- [x] clone
- [x] fetch
- [ ] push
- [x] blame (plumbing)
- [x] status
- [x] blob and tree-diff
- [ ] merge
- [x] blobs
- [x] trees
- [ ] commits
- [x] commit
- [ ] hooks
- [x] commit-graph traversal
- [ ] rebase
- [x] worktree checkout and worktree stream
- [ ] reset
- [x] reading and writing of objects
- [x] reading and writing of refs
- [x] reading and writing of
.git/index - [x] reading and writing of git configuration
- [x] pathspecs
- [x] revspecs
- [x]
.gitignoreand.gitattributes
Crates
Follow linked crate name for detailed status. Please note that all crates follow semver as well as the [stability guide].
Production Grade
-
Stability Tier 1
-
Stability Tier 2
Stabilization Candidates
Crates that seem feature complete and need to see some more use before they can be released as 1.0. Documentation is complete and was reviewed at least once.
Initial Development
These crates may be missing some features and thus are somewhat incomplete, but what's there is usable to some extent.
- usable (with rough but complete docs, possibly incomplete functionality)
- gix (⬅ entrypoint)
- gix-object
- gix-validate
- gix-url
- gix-packetline
- gix-packetline-blocking
- gix-transport
- gix-protocol
- gix-pack
- gix-odb
- gix-commitgraph
- gix-diff
- gix-traverse
- gix-features
- gix-credentials
- gix-sec
- gix-quote
- gix-discover
- gix-path
- gix-attributes
- gix-ignore
- gix-pathspec
- gix-index
- gix-revision
- gix-revwalk
- gix-command
- gix-prompt
- gix-refspec
- gix-fs
- gix-utils
- gix-hashtable
- gix-worktree
- gix-bitmap
- gix-negotiate
- gix-filter
- gix-worktree-stream
- gix-archive
- gix-submodule
- gix-status
- gix-worktree-state
- gix-date
- gix-dir
- gix-merge
- gix-shallow
gitoxide-core
- very early (possibly without any documentation and many rough edges)
- idea (just a name placeholder)
Stress Testing
- [x] Verify huge packs
- [x] Explode a pack to disk
- [x] Generate and verify large commit graphs
- [ ] Generate huge pack from a lot of loose objects
Stability and MSRV
Our [stability guide] helps to judge how much churn can be expected when depending on crates in this workspac
Related Skills
node-connect
341.8kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
341.8kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.6kCommit, push, and open a PR
