tests/svn-safe-append.py
author Boris Feld <boris.feld@octobus.net>
Thu, 19 Oct 2017 12:32:42 +0200
changeset 34900 3a3adbcbd3a0
parent 29195 bdba6a2015d0
child 36781 ffa3026d4196
permissions -rwxr-xr-x
obsfate: rename obsfate into obsolete in changeset_printer Yuja's comment on the original obsfate about how we would translate obsfate and the recent discussions about exposing users to new concepts and names lead have led me to think that 'obsfate' should be treated as internal jargon. End- users should not be aware of obsfate, so we replace 'obsfate' by 'obsolete' in changeset_printer. It will be easier to understand for end-users, easier to translate and closer to the original Evolve obsfate output. I'm aware it's extremely late in the cycle but I think it's an UX improvement for the end-users. Differential Revision: https://phab.mercurial-scm.org/D1189

#!/usr/bin/env python

from __future__ import absolute_import

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

import os
import sys

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