Radicle patches have IDs, which are the commit IDs of the COB.
Other tools, like Jujutusu, Gerrit, and GitButler use Change IDs to refer to commits consistently as they are rebased.
COB
In order for Radicle to integrate with these tools more easily in the future, add an action that allows linking a patch with a Change ID.
This naturally requires an optional struct member and some boilerplate.
CLI
rad patch show will print the Change ID if linked.
CLI Tests
Most of this is taken from Jujutsu’s own testing setup, see: https://github.com/jj-vcs/jj/blob/98d884827e2b9db72d480bb0c3610e51f103b7d4/cli/tests/common/test_environment.rs#L106-L150
Not all features are preserved, but this is good enough.
See also: https://lore.kernel.org/git/CAESOdVAspxUJKGAA58i0tvks4ZOfoGf1Aa5gPr0FXzdcywqUUw@mail.gmail.com/T
Radicle patches have IDs, which are the commit IDs of the COB.
Other tools, like Jujutusu, Gerrit, and GitButler use Change IDs to refer to commits consistently as they are rebased.
COB
In order for Radicle to integrate with these tools more easily in the future, add an action that allows linking a patch with a Change ID.
This naturally requires an optional struct member and some boilerplate.
CLI
rad patch show will print the Change ID if linked.
CLI Tests
Most of this is taken from Jujutsu’s own testing setup, see: https://github.com/jj-vcs/jj/blob/98d884827e2b9db72d480bb0c3610e51f103b7d4/cli/tests/common/test_environment.rs#L106-L150
Not all features are preserved, but this is good enough.
See also: https://lore.kernel.org/git/CAESOdVAspxUJKGAA58i0tvks4ZOfoGf1Aa5gPr0FXzdcywqUUw@mail.gmail.com/T