##// END OF EJS Templates
revset: add experimental relation and subscript operators...
revset: add experimental relation and subscript operators The proposed syntax [1] was originally 'set{n rel}', but it seemed slightly confusing if template is involved. On the other hand, we want to keep 'set[n]' for future extension. So this patch introduces 'set#rel[n]' ternary operator. I chose '#' just because it looks like applying an attribute. This also adds stubs for 'set[n]' and 'set#rel' operators since these syntax elements are fundamental for constructing 'set#rel[n]'. [1]: https://www.mercurial-scm.org/wiki/RevsetOperatorPlan#ideas_from_mpm

File last commit:

r29195:bdba6a20 default
r33416:9467d533 default
Show More
svn-safe-append.py
28 lines | 533 B | text/x-python | PythonLexer
/ tests / svn-safe-append.py
Peter Arrenbrecht
convert: fix test-convert-svn-* problems with mtime not changing...
r6439 #!/usr/bin/env python
Pulkit Goyal
py3: make tests/svn-safe-append.py use absolute_import
r29195 from __future__ import absolute_import
Peter Arrenbrecht
convert: fix test-convert-svn-* problems with mtime not changing...
r6439 __doc__ = """Same as `echo a >> b`, but ensures a changed mtime of b.
Without this svn will not detect workspace changes."""
Pulkit Goyal
py3: make tests/svn-safe-append.py use absolute_import
r29195 import os
import sys
Peter Arrenbrecht
convert: fix test-convert-svn-* problems with mtime not changing...
r6439
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