radicle-heartwood-lfs/radicle-cob/src
Alexis Sellier 3bd5589b1a
cob: Stabilize formats
> I'm going to be making a set of breaking changes to COBs in order to
stabilize the data formats. This is hopefully a one-time change that
bundles various breaking changes.

All COBs have been reworked: issue, patch, id.

The changes included are:

* Revise the assign and tag actions to take a single list of
  assignees/tags to set, instead of an "add" and a "remove" list. This
  makes API usage simpler when editing issues, and simplifies the apply
  function
* Rename "tags" to "labels", and the tag action to label. This is
  because tag is confusing in the context of git, as it could mean a git
  tag. Using label removes that confusion.
* Use DIDs instead of PublicKeys for assignees -- this is more
  future-proof
* Modify the manifest file format in the COB tree. Mainly, remove the
  `history_type` key which is redundant, and use camelCase for keys
* Flatten the `Thread` actions into the parent action type
* Ensure that operations on redacted objects do not fail, since
  redactions could have happened concurrently
* Use a consistent naming scheme for actions, using `.` as separator
* Consolidate comment types and remove `CodeComment`, by adding an
  optional `location` field to `Comment`
* Add many placeholder actions that are not yet implemented

To preserve backwards compatibility, a `legacy` module is created with
the old `apply` function. When loading the manifest, we check whether it
is a legacy COB or a "stable" COB, and in the legacy case, use the
legacy code to materialize the state and then convert the object into
the stable type. Eventually, we'll delete the legacy code.
2023-08-07 11:05:14 +02:00
..
backend cob: Stabilize formats 2023-08-07 11:05:14 +02:00
change cob: Stabilize formats 2023-08-07 11:05:14 +02:00
history cob: Stabilize formats 2023-08-07 11:05:14 +02:00
object cob: Stabilize formats 2023-08-07 11:05:14 +02:00
signatures Update license for `radicle-cob` 2023-04-23 15:20:35 +02:00
test cob: Parametrize `cob::Store` with repository type 2023-07-14 16:57:55 +02:00
backend.rs Update license for `radicle-cob` 2023-04-23 15:20:35 +02:00
change.rs Update license for `radicle-cob` 2023-04-23 15:20:35 +02:00
change_graph.rs cob: Stabilize formats 2023-08-07 11:05:14 +02:00
history.rs cob: Stabilize formats 2023-08-07 11:05:14 +02:00
lib.rs cob: Stabilize formats 2023-08-07 11:05:14 +02:00
object.rs cli: `git pull` to update patches in working copy 2023-08-04 12:28:22 +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 radicle-cob: test parse_refstr 2022-11-17 17:42:22 +00:00
tests.rs cob: Stabilize formats 2023-08-07 11:05:14 +02:00
trailers.rs radicle: update radicle-git-ext 2023-05-08 10:36:15 +01:00
type_name.rs radicle: update radicle-git-ext 2023-05-08 10:36:15 +01:00