Skip to content

Commit

Permalink
refactor
Browse files Browse the repository at this point in the history
- update `gix-fsck` crate status with all obvious features of `git-fsck`
  • Loading branch information
Byron committed Nov 9, 2023
1 parent 1dd3d67 commit 098b9a3
Showing 1 changed file with 14 additions and 10 deletions.
24 changes: 14 additions & 10 deletions crate-status.md
Original file line number Diff line number Diff line change
Expand Up @@ -776,16 +776,20 @@ See its [README.md](https://github.com/Byron/gitoxide/blob/main/gix-lock/README.
* [x] [validate][tagname-validation] tag names

### gix-fsck
* [x] validate connectivity when provided a specific commit as a starting point
* [ ] validate connectivity of all `refs` in the index
* [ ] identify objects that exist but are not reference by any reference nodes (e.g. `refs` or a provided commit)
* [ ] add support for various options
* [ ] write dangling objects to the `.git/log-found` directory structure
* [ ] `strict` mode, to check for tree objects with `g+w` permissions
* [ ] consider reflog entries as reference nodes/heads
* [ ] when reporting reachable objects, include _how_ they are reachable
* [ ] which reference node(s) made them reachable
* [ ] parent commit(s)
* [x] validate connectivity and find missing objects starting from…
- [x] commits
- [ ] tags
- [ ] tree-cache in the `index` or any entry within
* [ ] validate object hashes during connectivity traversal
* [ ] skipList to exclude objects which are known to be broken
* [ ] validate blob hashes (connectivity check
* [ ] identify objects that exist but are not reachable (i.e. what remains after a full graph traversal from all valid starting points)
* [ ] write dangling objects to the `.git/log-found` directory structure
* [ ] `strict` mode, to check for tree objects with `g+w` permissions
* [ ] consider reflog entries from `ref` starting points
* [ ] when reporting reachable objects, provide the path through which they are reachable, i.e. ref-log@{3} -> commit -> tree -> path-in-tree
* [ ] limit search to ODB without alternates (default is equivalent to `git fsck --full` due to ODB implementation)
* [ ] all individual [checks available in `git fsck`](https://git-scm.com/docs/git-fsck#_fsck_messages) (*too many to print here*)

### gix-ref
* [ ] Prepare code for arrival of longer hashes like Sha256. It's part of the [V2 proposal][reftable-v2] but should work for loose refs as well.
Expand Down

0 comments on commit 098b9a3

Please sign in to comment.