Mercurial > hg
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 +