jj/cli
Jonas Greitemann 0a208d8cac merge-tools builtin: property-based test round-tripping partial changes
This adds another property-based test which tests for a different
property: after applying only some of the changes in a diff, does the
application of the remaining changes result in the "right" tree?

There are some caveats which changes can be safely selected without
breaking this "roundtrip" property, explained in the doc comment.

Inferring the complementary change selection in the format expected by
scm_report is also more tricky than one might naively expect.

The selection is also subject to random generation and is represented by
a `Vec<bool>` that is wrapped around the actual state machine and that
is successively drawn from to decide which change to select. Otherwise,
the presence of this selection mask does not affect the state machine.
I chose `Vec<bool>` other an actual numeric bitmask because proptest
shrinks the vector more sensibly.
2025-06-18 20:45:56 +00:00
..
examples address new mismatched_lifetime_syntaxes Clippy lint 2025-06-17 07:40:05 +00:00
src merge-tools builtin: property-based test round-tripping partial changes 2025-06-18 20:45:56 +00:00
testing diff: Run external diff tools in their temp dir 2025-05-12 21:34:19 +00:00
tests cli: add "diff --template" argument 2025-06-15 15:09:08 +00:00
build.rs build: fix cargo publish by symlinking cli/docs->docs 2024-11-05 17:37:14 -08:00
Cargo.toml merge-tools builtin: add property-based testing 2025-06-18 20:45:56 +00:00
docs build: fix cargo publish by symlinking cli/docs->docs 2024-11-05 17:37:14 -08:00
LICENSE cargo: add LICENSE file to each crate we publish 2023-09-22 21:48:28 -07:00