From: Jacob Keller <jacob.keller@xxxxxxxxx> Teach git describe and git name-rev the ability to match multiple patterns inclusively. Additionally, teach these commands to also accept negative patterns to discard any refs which match. The pattern lists for positive and negative patterns are inclusive. This means that for the positive patterns, a reference will be considered as long as it matches at least one of the match patterns. It need not match all given patterns. Additionally for negative patterns, we will not consider any ref which matches any negative pattern, even if it matches one of the positive patterns. Together this allows the ability to express far more sets of tags than a single match pattern alone. It does not provide quite the same depth as would teaching full regexp but it is simpler and easy enough to understand. This is a re-send of a series from a month or so ago, I've since re-based this on next since it appears that it was not picked up before. Jacob Keller (5): doc: add documentation for OPT_STRING_LIST name-rev: extend --refs to accept multiple patterns name-rev: add support to discard refs by pattern match describe: teach --match to accept multiple patterns describe: teach describe negative pattern matches Documentation/git-describe.txt | 13 ++++++- Documentation/git-name-rev.txt | 11 +++++- Documentation/technical/api-parse-options.txt | 5 +++ builtin/describe.c | 51 ++++++++++++++++++++++---- builtin/name-rev.c | 53 +++++++++++++++++++++------ t/t6007-rev-list-cherry-pick-file.sh | 37 +++++++++++++++++++ t/t6120-describe.sh | 27 ++++++++++++++ 7 files changed, 176 insertions(+), 21 deletions(-) -- 2.11.0.403.g196674b8396b