Changeset 91
- Timestamp:
- 2009年08月23日 12时12分00秒 (3 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
trunk/pysvnmanager/hooks/init/hook1.4/scripts/commit_log_check.py
r47 r91 79 79 opt_size = int(arg) 80 80 elif opt in ("-p", "--permit"): 81 if arg and not isinstance(arg, unicode): 82 arg = unicode(arg, 'utf-8') 81 83 if arg: 82 if not isinstance(arg, unicode):83 arg = unicode(arg, 'utf-8')84 84 opt_permit_pattern.append(arg) 85 85 elif opt in ("-P", "--prohibit"): … … 89 89 opt_prohibit_pattern.append(arg) 90 90 elif opt in ("-m", "--message"): 91 if not isinstance(arg, unicode): 92 arg = unicode(arg, 'utf-8') 93 log_msg = arg 91 if arg: 92 if not isinstance(arg, unicode): 93 arg = unicode(arg, 'utf-8') 94 log_msg = arg 94 95 else: 95 96 return usage(1) … … 104 105 log_cmd = '%s log -t "%s" "%s"' % (SVNLOOK, txn, repos) 105 106 log_msg = os.popen(log_cmd, 'r').read().rstrip('\n') 106 107 107 108 # Check the length of commit log 108 109 check_strlen(log_msg, opt_size) … … 142 143 143 144 if log_length < size: 144 sys.stderr.write ("提交说明至少应包含 %d 个字符, "145 "或者太简单了。\n" % size)145 error_msg = u"提交说明至少应包含 %d 个字符, 或者太简单了。\n" % size 146 sys.stderr.write (error_msg.encode('utf-8')) 146 147 sys.exit(1) 147 148 … … 154 155 if permit: 155 156 matched = False 156 else: 157 matched = True 157 for pat in permit: 158 if not pat: # blank pattern 159 matched = True 160 break 161 elif re.compile(pat, re.I).search(log_msg): 162 matched = True 163 break 164 if not matched: 165 error_msg = u"无法在提交说明中匹配表达式: \n%s。\n" % ',\n'.join(permit) 166 sys.stderr.write (error_msg.encode('utf-8')) 167 sys.exit(1) 158 168 159 for pat in permit: 160 if pat and re.compile(pat, re.I).search(log_msg): 161 matched = True 162 break 163 164 if not matched: 165 error_msg = u"无法在提交说明中匹配表达式: \n%s。\n" % ',\n'.join(permit) 166 sys.stderr.write (error_msg.encode('utf-8')) 167 sys.exit(1) 168 169 for pat in prohibit: 170 if pat and re.compile(pat, re.I).search(log_msg): 171 matched = False 172 break 173 174 if not matched: 175 error_msg = u"不允许在log中出现类似表达式: \n%s。\n" % pat 176 sys.stderr.write (error_msg.encode('utf-8')) 177 sys.exit(1) 178 169 if prohibit: 170 matched = False 171 for pat in prohibit: 172 if pat and re.compile(pat, re.I).search(log_msg): 173 matched = True 174 break 175 if matched: 176 error_msg = u"不允许在log中出现类似表达式: \n%s。\n" % pat 177 sys.stderr.write (error_msg.encode('utf-8')) 178 sys.exit(1) 179 179 180 180 if __name__ == '__main__': 181 181 main() 182 183 # vim: ft=python ts=4 sw=4 et
![(please configure the [header_logo] section in trac.ini)](/trac/pysvnmanager/chrome/common/trac_banner.png)