radicle/sigrefs: Automatically Migrate

In order to allow automatic migration to the feature level 'parent',
introduce a way to force writing signed references, even if the
user-controlled refs are unchanged.

To detect the special case of a Signed References history with a single
and root commit (which would otherwise be detected as feature level
'parent', even though the `refs/rad/sigrefs-parent` ref cannot be
written), keep information about the parent commit in `SignedRefs`.

The output of `rad inspect --sigrefs` is changed to match the more
strict interpretation of the feature level for histories with a single
and root commit.
This commit is contained in:
Lorenz Leutgeb
2026-03-24 14:40:42 +00:00
committed by Fintan Halpenny
parent 8b166b2327
commit 47063057a8
22 changed files with 302 additions and 126 deletions
+5
View File
@@ -25,6 +25,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
will appear as a downgrade attacker.
- The `rad inspect --sigrefs` command will now output the feature level of the
signed references entry for each node.
- The signed references for the local node are automatically migrated when
`radicle-node` first starts up. The migration occurs for each repository in
the node's inventory, where the node has a reference
`refs/namespaces/<NID>/refs/rad/sigrefs`. The migration will only take place
if the `rad/sigrefs` found were below the latest feature level, i.e. `parent`.
## 1.7.1