radicle-heartwood-lfs/radicle-cob/src
Fintan Halpenny b4f2614d6c cob: chronological ordering of concurrent values
The underlying `Dag` for a COB will use the `Ord` implementation of
whatever is provided as the key. This means that the lexicographical
ordering of the `Oid` SHA will be used, which in turn means that if
the SHAs change in our tests, then the ordering will be broken for
concurrent updates.

To prevent this from happening, a variant of the `prune` method is
introduced that takes an ordering of the keys and values – this method
being called `prune_by`.

This allows `prune` to be replaced with `prune_by` in the
`ChangeGraph::evaluate` method. The ordering used is first comparing
the `Entry::timestamp` and then the `EntryId` (`Oid`).
2024-10-23 13:02:55 +01:00
..
backend cob: Change APIs to take URIs for embeds 2024-10-14 12:51:36 +02:00
change cob: Change APIs to take URIs for embeds 2024-10-14 12:51:36 +02:00
object cob: Change APIs to take URIs for embeds 2024-10-14 12:51:36 +02:00
signatures Update license for `radicle-cob` 2023-04-23 15:20:35 +02:00
test cob: Introduce `xyz.radicle.id` COB 2023-10-12 17:32:33 +02:00
backend.rs Update license for `radicle-cob` 2023-04-23 15:20:35 +02:00
change.rs cob: Evaluate COB state eagerly 2023-09-11 23:25:28 +02:00
change_graph.rs cob: chronological ordering of concurrent values 2024-10-23 13:02:55 +01:00
history.rs dag: Fix topological order 2023-11-03 14:17:57 +01:00
lib.rs Update `rust-toolchain` to 1.80 2024-08-06 14:37:21 +02:00
object.rs cob: Evaluate COB state eagerly 2023-09-11 23:25:28 +02:00
sign.rs Update license for `radicle-cob` 2023-04-23 15:20:35 +02:00
signatures.rs radicle: update radicle-git-ext 2023-05-08 10:36:15 +01:00
test.rs Update toolchain to Rust 1.77 2024-03-26 10:03:11 +01:00
tests.rs cob: Introduce `xyz.radicle.id` COB 2023-10-12 17:32:33 +02:00
trailers.rs cob: move unwrap_used pragma 2024-02-23 13:56:19 +01:00
type_name.rs radicle: update radicle-git-ext 2023-05-08 10:36:15 +01:00