annotate tests/test-push-checkheads-partial-C1.t @ 40343:a69d5823af6d

tests: add test for widening from an empty clone Narrow clones that track no paths currently don't even include the root manifest (which is the only manifest when using flat manifests). That means that when we widen from such a clone, we need to make sure that we send the root manifest (and other manifests if using tree manifests). That currently works because we always resend all manifest that match the new narrowspec. However, we're about to stop resending manifests that the client already has and there's a risk of this breaking then, so let's add a test. Differential Revision: https://phab.mercurial-scm.org/D5143
author Martin von Zweigbergk <martinvonz@google.com>
date Wed, 17 Oct 2018 09:30:07 -0700
parents 89630d0b3e23
children 34a46d48d24e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
32330
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1 ====================================
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
2 Testing head checking code: Case C-2
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
3 ====================================
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
4
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
5 Mercurial checks for the introduction of new heads on push. Evolution comes
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
6 into play to detect if existing branches on the server are being replaced by
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
7 some of the new one we push.
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
8
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
9 This case is part of a series of tests checking this behavior.
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
10
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
11 Category C: checking case were the branch is only partially obsoleted.
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
12 TestCase 1: 2 changeset branch, only the head is rewritten
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
13
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
14 .. old-state:
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
15 ..
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
16 .. * 2 changeset branch
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
17 ..
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
18 .. new-state:
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
19 ..
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
20 .. * 1 new changesets branches superceeding only the head of the old one
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
21 .. * base of the old branch is still alive
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
22 ..
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
23 .. expected-result:
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
24 ..
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
25 .. * push denied
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
26 ..
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
27 .. graph-summary:
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
28 ..
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
29 .. B ø⇠◔ B'
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
30 .. | |
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
31 .. A ○ |
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
32 .. |/
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
33 .. ○
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
34
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
35 $ . $TESTDIR/testlib/push-checkheads-util.sh
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
36
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
37 Test setup
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
38 ----------
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
39
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
40 $ mkdir C1
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
41 $ cd C1
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
42 $ setuprepos
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
43 creating basic server and client repo
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
44 updating to branch default
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
45 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
46 $ cd server
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
47 $ mkcommit B0
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
48 $ cd ../client
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
49 $ hg pull
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
50 pulling from $TESTTMP/C1/server
32330
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
51 searching for changes
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
52 adding changesets
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
53 adding manifests
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
54 adding file changes
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
55 added 1 changesets with 1 changes to 1 files
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35393
diff changeset
56 new changesets d73caddc5533 (1 drafts)
32330
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
57 (run 'hg update' to get a working copy)
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
58 $ hg up 0
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
59 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
60 $ mkcommit B1
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
61 created new head
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
62 $ hg debugobsolete `getid "desc(B0)" ` `getid "desc(B1)"`
33542
b11e8c67fb0f debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents: 32330
diff changeset
63 obsoleted 1 changesets
32330
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
64 $ hg log -G --hidden
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
65 @ 25c56d33e4c4 (draft): B1
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
66 |
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
67 | x d73caddc5533 (draft): B0
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
68 | |
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
69 | o 8aaa48160adc (draft): A0
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
70 |/
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
71 o 1e4be0697311 (public): root
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
72
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
73
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
74 Actual testing
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
75 --------------
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
76
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
77 $ hg push
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
78 pushing to $TESTTMP/C1/server
32330
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
79 searching for changes
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
80 abort: push creates new remote head 25c56d33e4c4!
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
81 (merge or see 'hg help push' for details about pushing new heads)
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
82 [255]
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
83
ab5f5429e3d2 tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
84 $ cd ../..