Mercurial > hg
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 |
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 ../.. |