annotate tests/test-exchange-obsmarkers-case-B1.t @ 41977:4ea21df312ec stable 4.9.1

record: prevent commits that don't pick up dirty subrepo changes (issue6102) This path covers interactive mode for commit, amend, and shelve, as well as the deprecated record extension. Since shelf creation uses commit without -S in the non-interactive case, aborting here should be OK. (I didn't check what happens to non interactive shelve creation if `ui.commitsubrepos=True` is set.) subrepoutil.precommit() will abort on a dirty subrepo if the config option isn't set, but the hint recommends using --subrepos to commit. Since only the commit command currently supports that option, the error has to be raised here to omit the hint. Doing the check before asking about all of the hunks in the MQ test seems like an improvement on its own. There's probably an additional check on this path that can be removed.
author Matt Harbison <matt_harbison@yahoo.com>
date Sat, 16 Mar 2019 14:40:21 -0400
parents 850a06176d82
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
31913
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
1 ============================================
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
2 Testing obsolescence markers push: Cases B.1
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
3 ============================================
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
4
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
5 Mercurial pushes obsolescences markers relevant to the "pushed-set", the set of
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
6 all changesets that requested to be "in sync" after the push (even if they are
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
7 already on both side).
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
8
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
9 This test belongs to a series of tests checking such set is properly computed
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
10 and applied. This does not tests "obsmarkers" discovery capabilities.
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
11
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
12 Category B: pruning case
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
13 TestCase 1: Prune on non-targeted common changeset
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
14
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
15 B.1 Prune on non-targeted common changeset
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
16 ==========================================
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
17
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
18 .. {{{
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
19 .. ⊗ B
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
20 .. |
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
21 .. ◕ A
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
22 .. |
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
23 .. ● O
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
24 .. }}}
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
25 ..
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
26 .. Marker exist from:
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
27 ..
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
28 .. * B (prune)
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
29 ..
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
30 .. Command runs:
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
31 ..
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
32 .. * hg push -r O
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
33 ..
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
34 .. Expected exclude:
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
35 ..
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
36 .. * B (prune)
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
37
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
38 Setup
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
39 -----
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
40
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
41 $ . $TESTDIR/testlib/exchange-obsmarker-util.sh
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
42
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
43 Initial
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
44
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
45 $ setuprepos B.1
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
46 creating test repo for test case B.1
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
47 - pulldest
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
48 - main
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
49 - pushdest
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
50 cd into `main` and proceed with env setup
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
51 $ cd main
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
52 $ mkcommit A
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
53 $ mkcommit B
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
54
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
55 make both changeset known in remote
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
56
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
57 $ hg push -qf ../pushdest
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
58 $ hg push -qf ../pulldest
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
59
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
60 create prune marker
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
61
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
62 $ hg prune -qd '0 0' .
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
63 $ hg log -G --hidden
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
64 x f6fbb35d8ac9 (draft): B
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
65 |
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
66 @ f5bc6836db60 (draft): A
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
67 |
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
68 o a9bdc8b26820 (public): O
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
69
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
70 $ inspect_obsmarkers
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
71 obsstore content
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
72 ================
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
73 f6fbb35d8ac958bbe70035e4c789c18471cdc0af 0 {f5bc6836db60e308a17ba08bf050154ba9c4fad7} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
74 $ cd ..
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
75 $ cd ..
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
76
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
77 Actual Test
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
78 -----------
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
79
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
80 $ dotest B.1 O
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
81 ## Running testcase B.1
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
82 # testing echange of "O" (a9bdc8b26820)
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
83 ## initial state
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
84 # obstore: main
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
85 f6fbb35d8ac958bbe70035e4c789c18471cdc0af 0 {f5bc6836db60e308a17ba08bf050154ba9c4fad7} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
86 # obstore: pushdest
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
87 # obstore: pulldest
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
88 ## pushing "O" from main to pushdest
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
89 pushing to pushdest
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
90 searching for changes
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
91 no changes found
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
92 ## post push state
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
93 # obstore: main
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
94 f6fbb35d8ac958bbe70035e4c789c18471cdc0af 0 {f5bc6836db60e308a17ba08bf050154ba9c4fad7} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
95 # obstore: pushdest
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
96 # obstore: pulldest
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
97 ## pulling "a9bdc8b26820" from main into pulldest
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
98 pulling from main
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
99 no changes found
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
100 ## post pull state
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
101 # obstore: main
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
102 f6fbb35d8ac958bbe70035e4c789c18471cdc0af 0 {f5bc6836db60e308a17ba08bf050154ba9c4fad7} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
103 # obstore: pushdest
850a06176d82 obsolescence: add test case B-1 for obsolescence markers exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
104 # obstore: pulldest