Mercurial > hg
annotate tests/sitecustomize.py @ 46758:7f6c002d7c0a
split: close transaction in the unlikely event of a conflict while rebasing
`hg split` *should* never result in conflicts, but in case there are
bugs, we should at least commit the transaction so they can continue
the rebase. One of our users ran into the regression fixed by
D10120. They fixed the conflict and the tried to continue the rebase,
but it failed with "abort: cannot continue inconsistent rebase"
because the rebase state referred to commits written in a transaction
that was never committed.
Side note: `hg split` should probably turn off copy tracing to reduce
the impact of such bugs, and to speed it up as well. Copies made in
the rebased commits should still be respected because `hg rebase`
calls `copies.graftcopies()`.
Differential Revision: https://phab.mercurial-scm.org/D10164
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Fri, 12 Mar 2021 09:15:40 -0800 |
parents | 2372284d9457 |
children | 6000f5b25c9b |
rev | line source |
---|---|
28946
b12bda49c3e3
py3: use absolute_import in sitecustomize.py
Robert Stanca <robert.stanca7@gmail.com>
parents:
24505
diff
changeset
|
1 from __future__ import absolute_import |
24505
031947baf4d0
run-tests: collect aggregate code coverage
Gregory Szorc <gregory.szorc@gmail.com>
parents:
14971
diff
changeset
|
2 import os |
031947baf4d0
run-tests: collect aggregate code coverage
Gregory Szorc <gregory.szorc@gmail.com>
parents:
14971
diff
changeset
|
3 |
031947baf4d0
run-tests: collect aggregate code coverage
Gregory Szorc <gregory.szorc@gmail.com>
parents:
14971
diff
changeset
|
4 if os.environ.get('COVERAGE_PROCESS_START'): |
031947baf4d0
run-tests: collect aggregate code coverage
Gregory Szorc <gregory.szorc@gmail.com>
parents:
14971
diff
changeset
|
5 try: |
031947baf4d0
run-tests: collect aggregate code coverage
Gregory Szorc <gregory.szorc@gmail.com>
parents:
14971
diff
changeset
|
6 import coverage |
30477
d2c40510104e
tests: update sitecustomize to use uuid1() instead of randrange()
Augie Fackler <augie@google.com>
parents:
28946
diff
changeset
|
7 import uuid |
24505
031947baf4d0
run-tests: collect aggregate code coverage
Gregory Szorc <gregory.szorc@gmail.com>
parents:
14971
diff
changeset
|
8 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
30477
diff
changeset
|
9 covpath = os.path.join( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
30477
diff
changeset
|
10 os.environ['COVERAGE_DIR'], 'cov.%s' % uuid.uuid1() |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
30477
diff
changeset
|
11 ) |
24505
031947baf4d0
run-tests: collect aggregate code coverage
Gregory Szorc <gregory.szorc@gmail.com>
parents:
14971
diff
changeset
|
12 cov = coverage.coverage(data_file=covpath, auto_data=True) |
031947baf4d0
run-tests: collect aggregate code coverage
Gregory Szorc <gregory.szorc@gmail.com>
parents:
14971
diff
changeset
|
13 cov._warn_no_data = False |
031947baf4d0
run-tests: collect aggregate code coverage
Gregory Szorc <gregory.szorc@gmail.com>
parents:
14971
diff
changeset
|
14 cov._warn_unimported_source = False |
031947baf4d0
run-tests: collect aggregate code coverage
Gregory Szorc <gregory.szorc@gmail.com>
parents:
14971
diff
changeset
|
15 cov.start() |
031947baf4d0
run-tests: collect aggregate code coverage
Gregory Szorc <gregory.szorc@gmail.com>
parents:
14971
diff
changeset
|
16 except ImportError: |
031947baf4d0
run-tests: collect aggregate code coverage
Gregory Szorc <gregory.szorc@gmail.com>
parents:
14971
diff
changeset
|
17 pass |