gitoxide
gitoxide copied to clipboard
oxidize `zed`
https://github.com/zed-industries/zed
Diffing
- [x] blob-diff based on two buffers
- [ ] diff-delta (probably works via imara diff already, but exact format is unclear)
- [x] line-stats
- [ ] hunk by index (probably works via imara-diff, but needs validation)
Status
What matters is that the information is complete - maybe they'd use plumbing for this. A trait exists to make other backends easier.
- [x] index-and-worktree, filtered by pathspec (i.e. subdir or single-file filter)
- [ ] commit-and-index (by path)
- [ ] status of worktree file (to get untracked, conflicts, ETC)
Other
- [x] open thread-safe repo
- [x] current branch name
- [x] list branches
- [x] crate a new branch
- [ ] rename branch (no native support, must be deletion and creation), unclear if rename should be native rather than having a transaction with delete and create.
For tests
- [x] init non-bare
- [ ] add file to index and write it back (
git add
) - [ ]
git rm --staged
- [ ]
git commit
- write tree from index (!), create commit - [ ]
git stash
- [ ]
git reset --soft <commit>
- [ ]
git status
- for paths and their status