Mercurial > hg
annotate tests/test-push-checkheads-partial-C1.t @ 48549:28f0092ec89f
exchange: add fast path for subrepo check on push
Try to check if .hgsub and .hgsubstate exist at all before looking
for them in every changeset to be pushed. The latter can be quite
expensive for large repositories and the existance check is almost free.
Differential Revision: https://phab.mercurial-scm.org/D11956
author | Joerg Sonnenberger <joerg@bec.de> |
---|---|
date | Mon, 03 Jan 2022 01:09:56 +0100 |
parents | 9261f6c1d39b |
children | 5996640fc6fe |
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)"` |
42893
34a46d48d24e
debugobsolete: also issue the "new obsmarkers" messsage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
39480
diff
changeset
|
63 1 new obsolescence markers |
33542
b11e8c67fb0f
debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents:
32330
diff
changeset
|
64 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
|
65 $ 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
|
66 @ 25c56d33e4c4 (draft): B1 |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
67 | |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
68 | 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
|
69 | | |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
70 | 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
|
71 |/ |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
72 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
|
73 |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
74 |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
75 Actual testing |
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 |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
78 $ hg push |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34661
diff
changeset
|
79 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
|
80 searching for changes |
45908
122f0b59f5f0
errors: remove trailing "!" in messages about creating new heads on push
Martin von Zweigbergk <martinvonz@google.com>
parents:
42893
diff
changeset
|
81 abort: push creates new remote head 25c56d33e4c4 |
32330
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
82 (merge or see 'hg help push' for details about pushing new heads) |
46119
9261f6c1d39b
errors: raise StateError when push fails because it creates new heads
Martin von Zweigbergk <martinvonz@google.com>
parents:
45908
diff
changeset
|
83 [20] |
32330
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
84 |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
85 $ cd ../.. |