@@ -71,20 +71,19 @@ def __call__(self):
71
71
if not commits :
72
72
raise NoCommitsFoundError (f"No commit found with range: '{ self .rev_range } '" )
73
73
74
- pattern = self .cz .schema_pattern ()
75
- displayed_msgs_content = "\n " .join (
76
- [
77
- f'commit "{ commit .rev } ": "{ commit .message } "'
78
- for commit in commits
79
- if not self .validate_commit_message (commit .message , pattern )
80
- ]
74
+ pattern = re .compile (self .cz .schema_pattern ())
75
+ invalid_msgs_content = "\n " .join (
76
+ f'commit "{ commit .rev } ": "{ commit .message } "'
77
+ for commit in commits
78
+ if not self ._validate_commit_message (commit .message , pattern )
81
79
)
82
- if displayed_msgs_content :
80
+ if invalid_msgs_content :
81
+ # TODO: capitalize the first letter of the error message for consistency in v5
83
82
raise InvalidCommitMessageError (
84
83
"commit validation: failed!\n "
85
84
"please enter a commit message in the commitizen format.\n "
86
- f"{ displayed_msgs_content } \n "
87
- f"pattern: { pattern } "
85
+ f"{ invalid_msgs_content } \n "
86
+ f"pattern: { pattern . pattern } "
88
87
)
89
88
out .success ("Commit validation: successful!" )
90
89
@@ -135,14 +134,18 @@ def _filter_comments(msg: str) -> str:
135
134
lines .append (line )
136
135
return "\n " .join (lines )
137
136
138
- def validate_commit_message (self , commit_msg : str , pattern : str ) -> bool :
137
+ def _validate_commit_message (
138
+ self , commit_msg : str , pattern : re .Pattern [str ]
139
+ ) -> bool :
139
140
if not commit_msg :
140
141
return self .allow_abort
141
142
142
143
if any (map (commit_msg .startswith , self .allowed_prefixes )):
143
144
return True
145
+
144
146
if self .max_msg_length :
145
147
msg_len = len (commit_msg .partition ("\n " )[0 ].strip ())
146
148
if msg_len > self .max_msg_length :
147
149
return False
148
- return bool (re .match (pattern , commit_msg ))
150
+
151
+ return bool (pattern .match (commit_msg ))
0 commit comments