Sorry for not communicating properly on this. I’m almost done with everything “I” wanted (as in, everything people have suggested that looks feasible for the next release).
I have a NixOS version that compiles (required fixes in carnix), and a Windows version that compiles. I’m currently adding support for SSH agents, and that should be it.
We had an interesting discussion with @lthms about show-dependencies: detecting missing contexts symmetrically (the “zombies” tests) requires the dependencies field of patches to include the direct dependencies, even if transitivity makes them redundant.
However, this forces us to do some extra work (essentially, a topological sort) every time we want to show dependencies to the user, either on the Nest, or with show-dependencies.
There are several options:
do the extra work every time, it’s O(|B|), where B is a branch (set of patches).
add an extra field for “zombie dependencies”, and test thoroughly again.
add an extra field for “minimised dependencies” just for the sake of displaying.
In general, I don’t like adding new fields (so I’m slightly in favor of option 1), and I believe @lthms would prefer option 3.
I believe I’ve fixed it since we last talked, but I still need to test it at a larger scale, like on Pijul itself, and then on all repositories on the Nest (this last task is actually more than a test, I’ll need to do it).