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

WIP store index in Flatbuffers #201

Closed
wants to merge 93 commits into from
Closed

Conversation

sourcefrog
Copy link
Owner

@sourcefrog sourcefrog commented Feb 6, 2023

  • Store the apath as a list of components, so that we can reuse references to earlier file parts

Sorry, something went wrong.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
…json (#197)

Add `--trace-time`, `--log-json`, and `--metric-json`.

Use `tracing` macros to report errors rather than UI-specific things.

Separate out everything connected to terminal/nutmeg progress and output.

Return 2 if non-fatal errors or warnings occurred.

Respect `$CLICOLORS`.
This was supported in the type for a long time, but never actually
generated. It no longer seems like a good idea: rather than bands
having explicit parents, they can just share blocks.
Remove Eq, PartialEq, and a method that is incompatible. They're
barely used.
There currently are never any format flags set, but there
might be soon.

Add some more tests for this.
RestoreTree seems like an unnecessary object in Rust:
let's just use functions
They were using an enumerate visited by a par_iter,
which produces a chaotic ordering.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
* Print restored files from a callback

Add an EntryChange object

These are returned from callbacks as files are handled.

Can be serialized to write out json changes

* Changes contain both old and new metadata

* Also use ChangeCallback from restore

* Rename backup option to change_callback

* impl Display for EntryChange

* Add restore --changes-json

* Refactor diff to use EntryChange

* Move diff printing into bin

* Add diff --json

* Move BackupStats to backup.rs

* Tidy up

* Better json repr from changes

* Fix tests: user/group currently only on Unix

* Clean up merge code

* Further simplify merge

* Further simplify merge

MatchedEntries is now directly an enum of Left, Right, or Both, and
knows how to convert itself to an EntryChange.

* Parameterize Change type

* comment

* Test --changes-json from backup
read_json returns REsult<Option> to more clearly handle not-found
Remove use of anyhow; stick with error enums

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Define transport::Error, simplify errors

Back out addition of anyhow: use Error enums, but don't proliferate so many variants.

Make BandId Copy, and pass it by value.

Use Transport errors that could describe non-local errors.

Generally clean up error handling code.
Remove iterator to read Transport directories.

They should always be moderately small individually, and we almost
always want to read the whole directory. This should also make
async or remote transports easier.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Simplify Transport: remove dir iter, is_dir, url

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
cargo-mutants in CI on selected files
@sourcefrog sourcefrog deleted the branch validate-output February 14, 2025 15:00
@sourcefrog sourcefrog closed this Feb 14, 2025
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

Successfully merging this pull request may close these issues.

None yet

1 participant