##// END OF EJS Templates
phabricator: warn if unable to amend, instead of aborting after posting...
phabricator: warn if unable to amend, instead of aborting after posting There was a divergence in behavior here between obsolete and strip based amending. I first noticed the abort when testing outside of the test harness, but then had trouble recreating it here after reverting the code changes. It turns out, strip based amend was successfully amending the public commit after it was posted! It looks like the protection is in the `commit --amend` command, not in the underlying code that it calls. I considered doing a preflight check and aborting. But the locks are only acquired at the end, if amending, and this is too large a section of code to be wrapped in a maybe-it's-held-or-not context manager for my tastes. Additionally, some people do post-push reviews, and amending is the default behavior, so they shouldn't see a misleading error message. The lack of a 'Differential Revision' entry in the commit message breaks a {phabreview} test, so it had to be partially conditionalized.

File last commit:

r40354:55fd0fef default
r41198:0101a35d default
Show More
heredoctest.py
27 lines | 646 B | text/x-python | PythonLexer
Pulkit Goyal
py3: make files use absolute_import and print_function...
r29485 from __future__ import absolute_import, print_function
Gregory Szorc
tests: use absolute_import for heredoctest.py
r27297
Matt Mackall
run-tests: replace inline python handling with more native scheme...
r15434 import sys
Idan Kamara
tests: remove temp doctest file when finished running it
r15247
Yuya Nishihara
py3: flush std streams before/after running user code in heredoctest.py...
r40354 def flush():
sys.stdout.flush()
sys.stderr.flush()
Matt Mackall
run-tests: replace inline python handling with more native scheme...
r15434 globalvars = {}
lines = sys.stdin.readlines()
while lines:
l = lines.pop(0)
if l.startswith('SALT'):
Augie Fackler
heredoctest: 2to3 -w -f numliterals -f except -f print tests/heredoctest.py
r25032 print(l[:-1])
Matt Mackall
run-tests: replace inline python handling with more native scheme...
r15434 elif l.startswith('>>> '):
snippet = l[4:]
while lines and lines[0].startswith('... '):
l = lines.pop(0)
Yuya Nishihara
heredoctest: do not append extra newline character to continuation line...
r22565 snippet += l[4:]
Matt Mackall
run-tests: replace inline python handling with more native scheme...
r15434 c = compile(snippet, '<heredoc>', 'single')
try:
Yuya Nishihara
py3: flush std streams before/after running user code in heredoctest.py...
r40354 flush()
Augie Fackler
heredoctest: 2to3 -w -f numliterals -f except -f print tests/heredoctest.py
r25032 exec(c, globalvars)
Yuya Nishihara
py3: flush std streams before/after running user code in heredoctest.py...
r40354 flush()
Augie Fackler
heredoctest: 2to3 -w -f numliterals -f except -f print tests/heredoctest.py
r25032 except Exception as inst:
Yuya Nishihara
py3: flush std streams before/after running user code in heredoctest.py...
r40354 flush()
Augie Fackler
heredoctest: 2to3 -w -f numliterals -f except -f print tests/heredoctest.py
r25032 print(repr(inst))