mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 08:18:15 +03:00
898046c9b1
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.
26 lines
487 B
Python
Executable File
26 lines
487 B
Python
Executable File
#!/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
|
|
|