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