From: Nickolai Belakovski <nbelakov...@gmail.com> > I don't think that works. The default function is always_equal(), which > will treat two entries equal if they have the same hash value. I.e., any > collisions would be considered a match.
You're absolutely right. I've added a compare function, but I left out the functionality for it to work with an entry passed in as a key. Doing so would mean the user would have to allocate a worktree struct, which just seems silly when the ref is all that's needed (and also defeats the purpose of avoiding extra allocations). And while most of the hashmap API seems OK, yea, this is definitely awful. It feels like it should just be able to take a key and return either an entry or NULL, and do away with entry_or_key and equals_function_data. Travis-CI results: https://travis-ci.org/nbelakovski/git/builds/471787317 Nickolai Belakovski (3): ref-filter: add worktreepath atom branch: Mark and color a branch differently if it is checked out in a linked worktree branch: Add an extra verbose output displaying worktree path for refs checked out in a linked worktree Documentation/git-for-each-ref.txt | 5 +++ builtin/branch.c | 16 ++++++--- ref-filter.c | 72 +++++++++++++++++++++++++++++++++++++- t/t3200-branch.sh | 8 ++--- t/t3203-branch-output.sh | 21 +++++++++++ t/t6302-for-each-ref-filter.sh | 15 ++++++++ 6 files changed, 128 insertions(+), 9 deletions(-) -- 2.14.2