tests/svn-safe-append.py
author Adrian Buehlmann <adrian@cadifra.com>
Fri, 15 Apr 2011 10:56:26 +0200
changeset 13934 ebe1ddbbefd7
parent 6439 c1b47c0fd2b6
child 29195 bdba6a2015d0
permissions -rwxr-xr-x
paper: preserve whitespace on description instead of adding breaks This preserves the indentation of text in the changeset description. This is useful for example for descriptions containing command line use case examples like: $ hg -q heads 13934:648a834cca14 13912:71ea5b2b9517 Without this patch, such space-char indented text was just left aligned.

#!/usr/bin/env python

__doc__ = """Same as `echo a >> b`, but ensures a changed mtime of b.
Without this svn will not detect workspace changes."""

import sys, os

text = sys.argv[1]
fname = sys.argv[2]

f = open(fname, "ab")
try:
    before = os.fstat(f.fileno()).st_mtime
    f.write(text)
    f.write("\n")
finally:
    f.close()
inc = 1
now = os.stat(fname).st_mtime
while now == before:
    t = now + inc
    inc += 1
    os.utime(fname, (t, t))
    now = os.stat(fname).st_mtime