Mercurial > hg
annotate tests/test-absorb-unfinished.t @ 44943:9e5b4dbe8ff2
localrepo: handle ValueError during repository opening
Python 3.8 can raise ValueError on attempt of an I/O operation
against an illegal path. This was causing test-remotefilelog-gc.t
to fail on Python 3.8.
This commit teaches repository opening to handle ValueError
and re-raise an Abort on failure.
An arguably better solution would be to implement this logic
in the vfs layer. But that seems like a bag of worms and I don't
want to go down that rabbit hole. Until users report uncaught
ValueError exceptions in the wild, I think it is fine to patch
this at the only occurrence our test harness is finding it.
Differential Revision: https://phab.mercurial-scm.org/D7944
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Sat, 18 Jan 2020 10:07:07 -0800 |
parents | 537a8aeb9977 |
children | dc5e5577af39 |
rev | line source |
---|---|
42128
537a8aeb9977
absorb: aborting if another operation is in progress
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
1 $ cat >> $HGRCPATH << EOF |
537a8aeb9977
absorb: aborting if another operation is in progress
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
2 > [extensions] |
537a8aeb9977
absorb: aborting if another operation is in progress
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
3 > absorb= |
537a8aeb9977
absorb: aborting if another operation is in progress
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
4 > EOF |
537a8aeb9977
absorb: aborting if another operation is in progress
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
5 |
537a8aeb9977
absorb: aborting if another operation is in progress
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
6 Abort absorb if there is an unfinished operation. |
537a8aeb9977
absorb: aborting if another operation is in progress
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
7 |
537a8aeb9977
absorb: aborting if another operation is in progress
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
8 $ hg init abortunresolved |
537a8aeb9977
absorb: aborting if another operation is in progress
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
9 $ cd abortunresolved |
537a8aeb9977
absorb: aborting if another operation is in progress
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
10 |
537a8aeb9977
absorb: aborting if another operation is in progress
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
11 $ echo "foo1" > foo.whole |
537a8aeb9977
absorb: aborting if another operation is in progress
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
12 $ hg commit -Aqm "foo 1" |
537a8aeb9977
absorb: aborting if another operation is in progress
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
13 |
537a8aeb9977
absorb: aborting if another operation is in progress
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
14 $ hg update null |
537a8aeb9977
absorb: aborting if another operation is in progress
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
15 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
537a8aeb9977
absorb: aborting if another operation is in progress
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
16 $ echo "foo2" > foo.whole |
537a8aeb9977
absorb: aborting if another operation is in progress
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
17 $ hg commit -Aqm "foo 2" |
537a8aeb9977
absorb: aborting if another operation is in progress
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
18 |
537a8aeb9977
absorb: aborting if another operation is in progress
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
19 $ hg --config extensions.rebase= rebase -r 1 -d 0 |
537a8aeb9977
absorb: aborting if another operation is in progress
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
20 rebasing 1:c3b6dc0e177a "foo 2" (tip) |
537a8aeb9977
absorb: aborting if another operation is in progress
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
21 merging foo.whole |
537a8aeb9977
absorb: aborting if another operation is in progress
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
22 warning: conflicts while merging foo.whole! (edit, then use 'hg resolve --mark') |
537a8aeb9977
absorb: aborting if another operation is in progress
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
23 unresolved conflicts (see hg resolve, then hg rebase --continue) |
537a8aeb9977
absorb: aborting if another operation is in progress
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
24 [1] |
537a8aeb9977
absorb: aborting if another operation is in progress
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
25 |
537a8aeb9977
absorb: aborting if another operation is in progress
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
26 $ hg --config extensions.rebase= absorb |
537a8aeb9977
absorb: aborting if another operation is in progress
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
27 abort: rebase in progress |
537a8aeb9977
absorb: aborting if another operation is in progress
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
28 (use 'hg rebase --continue' or 'hg rebase --abort') |
537a8aeb9977
absorb: aborting if another operation is in progress
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
29 [255] |
537a8aeb9977
absorb: aborting if another operation is in progress
Rodrigo Damazio Bovendorp <rdamazio@google.com>
parents:
diff
changeset
|
30 |