did some evening hacking on my derivation diff utility and experimented with the output format a bit more. It now shows whether an input has been added, removed or updated and if updated whether that's because of a version bump (v) or a hash change without a version bump (h). Haven't pushed the current version to codeberg yet, as I'm still trying out new ideas, learning about more and more internals that simplify what I'm trying to do along the way, and the codebase is a mess because of that! (hope to abandon this hacky learning project utility in favor of a prospective guix store diff command in guix proper one day)

a screenshot showing the output of my drv-diff utility diffing two derivations of the IRC client senpai. It shows:

A (senpai-0.4.1.drv): 629 (only A: 19, shared: 610 = 96.98%)
B (senpai-0.4.1.drv): 634 (only B: 24, shared: 610 = 96.21%)
A ∪ B: 653 |  A ∩ B: 610 |  Diff: 43 | IoU: 0.9342 93.42%

and it also shows a diff-tree that tries to give context why exactly the derivation DAG has changed.
0

If you have a fediverse account, you can quote this note from your own instance. Search https://social.tchncs.de/users/theesm/statuses/116133667648069861 on your instance and quote it. (Note that quoting is not supported in Mastodon.)