##// END OF EJS Templates
convert: avoid closing ui.fout in subversion code (issue5807)...
convert: avoid closing ui.fout in subversion code (issue5807) Don't close 'fp' (= 'ui.fout') stream to prevent 'ValueError: I/O operation on closed file' (Bug #5807). Regression of changeset 30261:6bed17ba00a1 (https://www.mercurial-scm.org/repo/hg/rev/6bed17ba00a1)

File last commit:

r29195:bdba6a20 default
r36529:d697e39f default
Show More
svn-safe-append.py
28 lines | 533 B | text/x-python | PythonLexer
#!/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