diff tests/svn-safe-append.py @ 6439:c1b47c0fd2b6

convert: fix test-convert-svn-* problems with mtime not changing The `svn commit` command does not detect changed files unless their mtime has changed. A quick succession of, for instance, `svn co ...; echo x >> y; svn ci` can thus lead to the change to y being ignored. Edited by pmezard to write in binary mode.
author Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
date Tue, 01 Apr 2008 09:17:11 +0200
parents
children bdba6a2015d0
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/svn-safe-append.py	Tue Apr 01 09:17:11 2008 +0200
@@ -0,0 +1,25 @@
+#!/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
+