Pattern Matching
CVS uses two different forms of pattern
matching, depending on which aspect of CVS is attempting to match the
pattern. Most CVS functions use sh-style
wildcards, but the scripting files in the
CVSROOT directory use regular expressions.
This section is not a comprehensive study of regular expressions or wildcards. For a more complete discussion of regular expressions, I recommend Mastering Regular Expressions (O’Reilly) by Jeffrey E. F. Friedl.
Wildcards
Wildcards are used
by most CVS functions, including wrappers and ignore files. The
wildcards are evaluated by a version of the
fnmatch standard function library distributed
with CVS.
The wildcards are sh-style, and the symbols used
in CVS include:
- ?
Matches any single character.
- \
Escapes the special symbols, so they can be used as literals.
- *
Matches any string, including the empty string.
- [ ]
Matches any one of the enclosed characters. Within the brackets, the following symbols are used:
- ! or ^
If either of these characters is the first character after the open bracket, the brackets match anything that is not included in the brackets.
- char1-char2
Denotes the range of characters between
char1andchar2.
Regular Expressions
CVS
supports regular expressions in the scripting files in the
CVSROOT directory. In CVS 1.11.5, the scripting
files are the only files that support regular expressions; all other
files and functions use pattern matching. The scripting files are
commitinfo, editinfo,
loginfo, rcsinfo,
taginfo, and verifymsg ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access