Open
Description
https://github.com/zed-industries/zed
Diffing
- blob-diff based on two buffers
- diff-delta (probably works via imara diff already, but exact format is unclear)
- 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.
- 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
- open thread-safe repo
- current branch name
- list branches
- 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
- 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