Jacob Keller <jacob.e.keller@xxxxxxxxx> writes: > From: Jacob Keller <jacob.keller@xxxxxxxxx> > > Extend name-rev further to support matching refs by adding `--exclude` > patterns. These patterns will limit the scope of refs by excluding any > ref that matches at least one exclude pattern. Checking the exclude refs > shall happen first, before checking the include --refs patterns. I do not think we should have this "exclude first and then include" written down here, as it is an irrelevant implementation detail. The desired end result is that only refs that match at least one include and none of the exclude survive. You could implement it by first checking with include and then further narrowing that set by filtering those that match exclude (I am not saying that "include first then exclude" is better---I am saying that it is far less important than "at least one include and none of the exclude" to mention the order of application). > +--exclude=<pattern>:: > + Do not use any ref whose name matches a given shell pattern. The > + pattern can be one of branch name, tag name or fully qualified ref > + name. If given multiple times, exclude refs that match any of the given > + shell patterns. Use `--no-exclude` to clear the list of exclude > + patterns. Perhaps insert When used together with --refs, only those that match at least one of the --refs patterns and none of the --exclude patterns are used. before "Use `--no-exclude` to clear"?