In Pijul, could it ever be possible to unrecord patches on which other patches inadvertently depend? Under a mental model where normal conflict resolution is completing a square by producing a combined O+A+B for a given O+A and O+B, for unrecording a dependency you could similarly provide an O+B for a given O+A and O+A+B.
Are you asking about theory or current Pijul?
I think this is an area needing something, because current Pijul gives the error
Error: Cannot unrecord change YI7... because 5ZZ... depend on it
You can try to follow the dependencies backward, unrecording, but it is a big mess and there isn’t a good way to see what depends on a change.
(I wrote a script to generate a HTML way to see dependencies.)
I was able to unrecord most of the WordPress 6.0 changes, back to a 5.9 state, but I had several wanted changes that I had to unrecord in order to unrecord others. And then Pijul seemed to ignore what I deleted in the file during a record
command. (I haven’t revisited that for awhile.)
Perhaps what is needed is like a git stash
.
It seems like the theory (based on lines) works, but the implementation (based on bytes) doesn’t quite.