Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FSCK in gitoxide-core #287

Closed
4 tasks done
Byron opened this issue Dec 29, 2021 · 0 comments
Closed
4 tasks done

FSCK in gitoxide-core #287

Byron opened this issue Dec 29, 2021 · 0 comments

Comments

@Byron
Copy link
Member

Byron commented Dec 29, 2021

Essentially a verify_integrity() on git_odb::Store, run integrity checks on all indices/multi-indices and summarize the results.

Byron added a commit that referenced this issue Jan 2, 2022
Previously they used many different ways of handling their parameters
despite all boiling down to calling the same 'index::File::traverse()`
method.

This allows for more reuse of `Options` structs and generally makes
clearer how these optinos are used.
@Byron Byron mentioned this issue Jan 2, 2022
6 tasks
Byron added a commit that referenced this issue Jan 2, 2022
That way, even empty slots can be identified as 'changed' compared to
some older index even if they are empty.

This makes it consistent, as indices refer to occupied slots only and
protect themselves from changes using the generation flag, which usually
comes first.
Byron added a commit that referenced this issue Jan 2, 2022
Re-use the index::integrity::Options for multi_index options as it's
exactly the same.
This opportunty was missed the previous we simplified these signatures.
Byron added a commit that referenced this issue Jan 2, 2022
Byron added a commit that referenced this issue Jan 3, 2022
Byron added a commit that referenced this issue Jan 3, 2022
Byron added a commit that referenced this issue Jan 3, 2022
This finally allows delta tree caches to be used on typical small packs
returned by GitHub.
Byron added a commit that referenced this issue Jan 3, 2022
Remove VecDeque in favor of two vecs which will keep their indices
stable no matter what, while making much clearer what's happening.

It's surprising I wasn't able to do this refactor the first time around
and shows how hard it was to understand (for me) :D.
Byron added a commit that referenced this issue Jan 3, 2022
Byron added a commit that referenced this issue Jan 3, 2022
@Byron Byron closed this as completed Jan 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant