On Wed, Jul 31, 2019 at 06:06:02AM +0200, René Scharfe wrote: > Am 31.07.19 um 05:27 schrieb Jeff King: > > One thing that makes it all a bit funky is that the "put" lines also > > output the old value (which is what all those NULLs) are. And I think > > that solves my "value3" puzzlement from earlier. It is not part of the > > iteration at all, but rather the result of the duplicate "put". > > > > That would perhaps be clearer if the "hashmap" tool actually did the > > sorting itself (so we'd sort _just_ the iteration, not the whole > > output). Something like this, though I'm on the fence about whether it > > is worth it: > > We already have a few other tests that sort and compare. Perhaps it's > time for a test_cmp_ignore_order? That would be OK with me, but I think it would just replace the calls to "sort". To do the "just sort the iteration, but not the rest of the output that I'm talking about above", the change _has_ to go into test-hashmap.c (but I think I still favor just sorting the whole thing for simplicity). > And perhaps something like this might even be worth implementing as a > diff option? https://github.com/l0b0/diff-ignore-moved-lines has > post-processing script for that.. Given that we don't actually care that much about looking at the resulting diff (and so we don't care about preserving order), I think just sorting both sides gives equivalent results and is much simpler. -Peff