On Mon, Oct 19, 2020 at 11:13:22AM -0700, Junio C Hamano wrote: > * en/strmap (2020-10-13) 10 commits > - strmap: enable allocations to come from a mem_pool > - strmap: add a strset sub-type > - strmap: add functions facilitating use as a string->int map > - strmap: enable faster clearing and reusing of strmaps > - strmap: add more utility functions > - strmap: new utility functions > - hashmap: introduce a new hashmap_partial_clear() > - hashmap: allow re-use after hashmap_free() > - hashmap: adjust spacing to fix argument alignment > - hashmap: add usage documentation explaining hashmap_free[_entries]() > > A speciailization of hashmap that uses a string as key has been > introduced. Hopefully it will see wider use over time. > > Will merge to 'next'. I haven't gotten a chance to look at this carefully yet, but note that the strset here sort-of conflicts with the one I added recently in builtin/shortlog.c (already in master). I think the compiler won't complain because they never show up in the same translation unit, but we should avoid having two almost-the-same types in the codebase. I suspect my "check_and_add" function could be folded into Elijah's implementation. The other big difference is that mine uses the FLEX_ALLOC approach, and his doesn't. I haven't digested the code and discussion around that from Elijah's series yet. -Peff