Mercurial > hg
annotate tests/test-mq-qdelete @ 10428:e553a425751d stable
convert: differentiate between IOError and OSError on commitctx()
The IOError exception is overloaded to mean 'this file was deleted in
the current commit'. Separate the code that handles IOError and file
deletion from general OSError exceptions. The latter are real errors,
but IOError is not always a throwable error.
This solves the accidental marking of files as 'deleted' in commits that
try to write for example in .hg/store/data revlogs that the current user
has no permission to modify (a normal OSError that should abort the
current commit).
Changed by pmezard: use getattr() to be on the safe side.
author | Giorgos Keramidas <keramida@ceid.upatras.gr> |
---|---|
date | Thu, 11 Feb 2010 23:15:42 +0200 |
parents | 5e9965407d53 |
children | c3d7daa0928e |
rev | line source |
---|---|
3088
dc784839516d
mq: add qdelete --forget option
Brendan Cully <brendan@kublai.com>
parents:
diff
changeset
|
1 #!/bin/sh |
dc784839516d
mq: add qdelete --forget option
Brendan Cully <brendan@kublai.com>
parents:
diff
changeset
|
2 |
dc784839516d
mq: add qdelete --forget option
Brendan Cully <brendan@kublai.com>
parents:
diff
changeset
|
3 echo "[extensions]" >> $HGRCPATH |
dc784839516d
mq: add qdelete --forget option
Brendan Cully <brendan@kublai.com>
parents:
diff
changeset
|
4 echo "mq=" >> $HGRCPATH |
dc784839516d
mq: add qdelete --forget option
Brendan Cully <brendan@kublai.com>
parents:
diff
changeset
|
5 |
dc784839516d
mq: add qdelete --forget option
Brendan Cully <brendan@kublai.com>
parents:
diff
changeset
|
6 hg init a |
dc784839516d
mq: add qdelete --forget option
Brendan Cully <brendan@kublai.com>
parents:
diff
changeset
|
7 cd a |
dc784839516d
mq: add qdelete --forget option
Brendan Cully <brendan@kublai.com>
parents:
diff
changeset
|
8 |
dc784839516d
mq: add qdelete --forget option
Brendan Cully <brendan@kublai.com>
parents:
diff
changeset
|
9 echo 'base' > base |
dc784839516d
mq: add qdelete --forget option
Brendan Cully <brendan@kublai.com>
parents:
diff
changeset
|
10 hg ci -Ambase -d '1 0' |
dc784839516d
mq: add qdelete --forget option
Brendan Cully <brendan@kublai.com>
parents:
diff
changeset
|
11 |
7020
5e9965407d53
make test-mq-qdelete work reliably (issue1180)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6645
diff
changeset
|
12 hg qnew -d '1 0' a |
5e9965407d53
make test-mq-qdelete work reliably (issue1180)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6645
diff
changeset
|
13 hg qnew -d '1 0' b |
5e9965407d53
make test-mq-qdelete work reliably (issue1180)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6645
diff
changeset
|
14 hg qnew -d '1 0' c |
3088
dc784839516d
mq: add qdelete --forget option
Brendan Cully <brendan@kublai.com>
parents:
diff
changeset
|
15 |
4736
04b2c1e27c26
mq: require patch argument or revision for qdelete
Brendan Cully <brendan@kublai.com>
parents:
3376
diff
changeset
|
16 hg qdel |
04b2c1e27c26
mq: require patch argument or revision for qdelete
Brendan Cully <brendan@kublai.com>
parents:
3376
diff
changeset
|
17 |
3088
dc784839516d
mq: add qdelete --forget option
Brendan Cully <brendan@kublai.com>
parents:
diff
changeset
|
18 hg qdel c |
dc784839516d
mq: add qdelete --forget option
Brendan Cully <brendan@kublai.com>
parents:
diff
changeset
|
19 hg qpop |
dc784839516d
mq: add qdelete --forget option
Brendan Cully <brendan@kublai.com>
parents:
diff
changeset
|
20 hg qdel c |
dc784839516d
mq: add qdelete --forget option
Brendan Cully <brendan@kublai.com>
parents:
diff
changeset
|
21 hg qseries |
dc784839516d
mq: add qdelete --forget option
Brendan Cully <brendan@kublai.com>
parents:
diff
changeset
|
22 ls .hg/patches |
dc784839516d
mq: add qdelete --forget option
Brendan Cully <brendan@kublai.com>
parents:
diff
changeset
|
23 hg qpop |
dc784839516d
mq: add qdelete --forget option
Brendan Cully <brendan@kublai.com>
parents:
diff
changeset
|
24 hg qdel -k b |
dc784839516d
mq: add qdelete --forget option
Brendan Cully <brendan@kublai.com>
parents:
diff
changeset
|
25 ls .hg/patches |
3375
58202386deb7
mq: make qdelete without -k or a subrepository delete all patches
Brendan Cully <brendan@kublai.com>
parents:
3088
diff
changeset
|
26 hg qdel -r a |
3088
dc784839516d
mq: add qdelete --forget option
Brendan Cully <brendan@kublai.com>
parents:
diff
changeset
|
27 hg qapplied |
dc784839516d
mq: add qdelete --forget option
Brendan Cully <brendan@kublai.com>
parents:
diff
changeset
|
28 hg log --template '{rev} {desc}\n' |
dc784839516d
mq: add qdelete --forget option
Brendan Cully <brendan@kublai.com>
parents:
diff
changeset
|
29 |
dc784839516d
mq: add qdelete --forget option
Brendan Cully <brendan@kublai.com>
parents:
diff
changeset
|
30 hg qnew d |
dc784839516d
mq: add qdelete --forget option
Brendan Cully <brendan@kublai.com>
parents:
diff
changeset
|
31 hg qnew e |
dc784839516d
mq: add qdelete --forget option
Brendan Cully <brendan@kublai.com>
parents:
diff
changeset
|
32 hg qnew f |
dc784839516d
mq: add qdelete --forget option
Brendan Cully <brendan@kublai.com>
parents:
diff
changeset
|
33 |
3375
58202386deb7
mq: make qdelete without -k or a subrepository delete all patches
Brendan Cully <brendan@kublai.com>
parents:
3088
diff
changeset
|
34 hg qdel -r e |
3376
b9a7c07fca0e
Update test-mq-qdelete to use qdel -r
Brendan Cully <brendan@kublai.com>
parents:
3375
diff
changeset
|
35 hg qdel -r qbase:e |
3088
dc784839516d
mq: add qdelete --forget option
Brendan Cully <brendan@kublai.com>
parents:
diff
changeset
|
36 hg qapplied |
dc784839516d
mq: add qdelete --forget option
Brendan Cully <brendan@kublai.com>
parents:
diff
changeset
|
37 hg log --template '{rev} {desc}\n' |
6645
37eedb1a1848
mq: introduce the qfinish command
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
4736
diff
changeset
|
38 |
37eedb1a1848
mq: introduce the qfinish command
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
4736
diff
changeset
|
39 cd .. |
37eedb1a1848
mq: introduce the qfinish command
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
4736
diff
changeset
|
40 hg init b |
37eedb1a1848
mq: introduce the qfinish command
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
4736
diff
changeset
|
41 cd b |
37eedb1a1848
mq: introduce the qfinish command
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
4736
diff
changeset
|
42 |
37eedb1a1848
mq: introduce the qfinish command
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
4736
diff
changeset
|
43 echo 'base' > base |
7020
5e9965407d53
make test-mq-qdelete work reliably (issue1180)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6645
diff
changeset
|
44 hg ci -Ambase -d '1 0' |
6645
37eedb1a1848
mq: introduce the qfinish command
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
4736
diff
changeset
|
45 |
37eedb1a1848
mq: introduce the qfinish command
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
4736
diff
changeset
|
46 hg qfinish |
37eedb1a1848
mq: introduce the qfinish command
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
4736
diff
changeset
|
47 hg qfinish -a |
37eedb1a1848
mq: introduce the qfinish command
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
4736
diff
changeset
|
48 |
7020
5e9965407d53
make test-mq-qdelete work reliably (issue1180)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6645
diff
changeset
|
49 hg qnew -d '1 0' a |
5e9965407d53
make test-mq-qdelete work reliably (issue1180)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6645
diff
changeset
|
50 hg qnew -d '1 0' b |
5e9965407d53
make test-mq-qdelete work reliably (issue1180)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6645
diff
changeset
|
51 hg qnew c # XXX fails to apply by /usr/bin/patch if we put a date |
6645
37eedb1a1848
mq: introduce the qfinish command
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
4736
diff
changeset
|
52 |
37eedb1a1848
mq: introduce the qfinish command
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
4736
diff
changeset
|
53 hg qfinish 0 |
37eedb1a1848
mq: introduce the qfinish command
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
4736
diff
changeset
|
54 hg qfinish b |
37eedb1a1848
mq: introduce the qfinish command
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
4736
diff
changeset
|
55 |
37eedb1a1848
mq: introduce the qfinish command
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
4736
diff
changeset
|
56 hg qpop |
37eedb1a1848
mq: introduce the qfinish command
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
4736
diff
changeset
|
57 hg qfinish -a c |
37eedb1a1848
mq: introduce the qfinish command
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
4736
diff
changeset
|
58 hg qpush |
37eedb1a1848
mq: introduce the qfinish command
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
4736
diff
changeset
|
59 |
37eedb1a1848
mq: introduce the qfinish command
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
4736
diff
changeset
|
60 hg qfinish qbase:b |
37eedb1a1848
mq: introduce the qfinish command
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
4736
diff
changeset
|
61 hg qapplied |
37eedb1a1848
mq: introduce the qfinish command
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
4736
diff
changeset
|
62 hg log --template '{rev} {desc}\n' |
37eedb1a1848
mq: introduce the qfinish command
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
4736
diff
changeset
|
63 |
37eedb1a1848
mq: introduce the qfinish command
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
4736
diff
changeset
|
64 hg qfinish -a c |
37eedb1a1848
mq: introduce the qfinish command
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
4736
diff
changeset
|
65 hg qapplied |
37eedb1a1848
mq: introduce the qfinish command
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
4736
diff
changeset
|
66 hg log --template '{rev} {desc}\n' |
37eedb1a1848
mq: introduce the qfinish command
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
4736
diff
changeset
|
67 ls .hg/patches |