Mercurial > hgbook
view 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 |
line wrap: on
line source
#!/usr/bin/python import os, re, sys count = 0 for line in os.popen('hg export tip'): # remember the name of the file that this diff affects m = re.match(r'^--- [^/]/([^\t])', line) if m: filename = m.group(1) continue # remember the line number m = re.match(r'^@@ -(\d+),') if m: linenum = m.group(1) continue linenum += 1 # check for an added line with trailing whitespace m = re.match(r'^\+.*\s$', line) if m: print >> sys.stderr, ('%s:%d: trailing whitespace introduced' % (filename, linenum)) count += 1 if count: # save the commit message so we don't need to retype it os.system('hg tip --template "{desc}" > .hg/commit.save') print >> sys.stderr, 'commit message saved to .hg/commit.save' sys.exit(count)