Mercurial > evolve
comparison tests/test-checkheads-unpushed-D2.t @ 2250:2b4e2e93b7db
checkheads: add some extra tests about "partial push"
This adds a couple of test that checks that the head replacement code is
properly ignored replacement not relevant to the push.
author | Pierre-Yves David <pierre-yves.david@ens-lyon.org> |
---|---|
date | Wed, 29 Mar 2017 14:02:46 +0200 |
parents | |
children | 2f71f6234b06 |
comparison
equal
deleted
inserted
replaced
2249:0ecb9fba6364 | 2250:2b4e2e93b7db |
---|---|
1 ==================================== | |
2 Testing head checking code: Case D-2 | |
3 ==================================== | |
4 | |
5 Mercurial checks for the introduction of multiple heads on push. Evolution | |
6 comes into play to detect if existing heads on the server are being replaced by | |
7 some of the new heads we push. | |
8 | |
9 This test file is part of a series of tests checking this behavior. | |
10 | |
11 Category D: remote head is "obs-affected" locally, but result is not part of the push. | |
12 TestCase 1: remote branch has 2 changes, head is pruned, second is rewritten but result is not pushed | |
13 | |
14 .. old-state: | |
15 .. | |
16 .. * 1 changeset branch | |
17 .. | |
18 .. new-state: | |
19 .. | |
20 .. * old head is pruned | |
21 .. * 1 new branch succeeding to the other changeset in the old branch | |
22 .. * 1 new unrelated branch | |
23 .. | |
24 .. expected-result: | |
25 .. | |
26 .. * push allowed | |
27 .. * pushing only the unrelated branch: denied | |
28 .. | |
29 .. graph-summary: | |
30 .. | |
31 .. B ⊗ | |
32 .. | | |
33 .. A ø⇠○ A' | |
34 .. |/ | |
35 .. | ◔ C | |
36 .. |/ | |
37 .. ○ | |
38 | |
39 $ . $TESTDIR/testlib/checkheads-util.sh | |
40 | |
41 Test setup | |
42 ---------- | |
43 | |
44 $ setuprepos | |
45 creating basic server and client repo | |
46 updating to branch default | |
47 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
48 $ cd server | |
49 $ mkcommit B0 | |
50 $ cd ../client | |
51 $ hg pull | |
52 pulling from $TESTTMP/server | |
53 searching for changes | |
54 adding changesets | |
55 adding manifests | |
56 adding file changes | |
57 added 1 changesets with 1 changes to 1 files | |
58 (run 'hg update' to get a working copy) | |
59 $ hg up 0 | |
60 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
61 $ mkcommit A1 | |
62 created new head | |
63 $ hg debugobsolete `getid "desc(A0)" ` `getid "desc(A1)"` | |
64 $ hg debugobsolete `getid "desc(B0)"` | |
65 $ hg up 0 | |
66 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
67 $ mkcommit C0 | |
68 created new head | |
69 $ hg log -G --hidden | |
70 @ 0f88766e02d6 (draft): C0 | |
71 | | |
72 | o f6082bc4ffef (draft): A1 | |
73 |/ | |
74 | x d73caddc5533 (draft): B0 | |
75 | | | |
76 | x 8aaa48160adc (draft): A0 | |
77 |/ | |
78 o 1e4be0697311 (public): root | |
79 | |
80 | |
81 Actual testing | |
82 -------------- | |
83 | |
84 $ hg push --rev 'desc(C0)' | |
85 pushing to $TESTTMP/server | |
86 searching for changes | |
87 abort: push creates new remote head 0f88766e02d6! | |
88 (merge or see 'hg help push' for details about pushing new heads) | |
89 [255] | |
90 |