Mercurial > hgbook
comparison en/examples/data/check_whitespace.py @ 44:012df94a02fe
Start hook examples. First is for trailing whitespace.
author | Bryan O'Sullivan <bos@serpentine.com> |
---|---|
date | Sun, 23 Jul 2006 23:25:52 -0700 |
parents | |
children | 18210d46491f |
comparison
equal
deleted
inserted
replaced
43:7ac85766db0f | 44:012df94a02fe |
---|---|
1 #!/usr/bin/python | |
2 | |
3 import os, re, sys | |
4 | |
5 count = 0 | |
6 | |
7 for line in os.popen('hg export tip'): | |
8 # remember the name of the file that this diff affects | |
9 m = re.match(r'^--- [^/]/([^\t])', line) | |
10 if m: | |
11 filename = m.group(1) | |
12 continue | |
13 # remember the line number | |
14 m = re.match(r'^@@ -(\d+),') | |
15 if m: | |
16 linenum = m.group(1) | |
17 continue | |
18 linenum += 1 | |
19 # check for an added line with trailing whitespace | |
20 m = re.match(r'^\+.*\s$', line) | |
21 if m: | |
22 print >> sys.stderr, ('%s:%d: trailing whitespace introduced' % | |
23 (filename, linenum)) | |
24 count += 1 | |
25 | |
26 if count: | |
27 # save the commit message so we don't need to retype it | |
28 os.system('hg tip --template "{desc}" > .hg/commit.save') | |
29 print >> sys.stderr, 'commit message saved to .hg/commit.save' | |
30 | |
31 sys.exit(count) |