annotate tests/test-push-checkheads-unpushed-D3.t @ 6889:a66cf9008781

obslog: also display patch for rebased changesets This applies the same logic that is used for "merge-diff" to rebased changesets. The successors' content is compared to the content of the predecessors rebased in-memory on the new parents. This highlights the changes that were actually introduced while rebasing (like conflict resolution or API adjustment). As a side effect, obslog now also outputs slightly more diffs for splits, showing what parts of the original big changeset were moved to the smaller split components (but for now it only works for the first few changesets).
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Sun, 22 Sep 2024 02:58:54 +0200
parents fc60328270ac
children 1328195f76a9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2252
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
1 ====================================
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
2 Testing head checking code: Case D-3
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
3 ====================================
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
4
2277
61d885899466 checkheads: update tests to match the one in core
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2252
diff changeset
5 Mercurial checks for the introduction of new heads on push. Evolution comes
61d885899466 checkheads: update tests to match the one in core
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2252
diff changeset
6 into play to detect if existing branches on the server are being replaced by
61d885899466 checkheads: update tests to match the one in core
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2252
diff changeset
7 some of the new one we push.
2252
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
8
2277
61d885899466 checkheads: update tests to match the one in core
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2252
diff changeset
9 This case is part of a series of tests checking this behavior.
2252
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
10
2277
61d885899466 checkheads: update tests to match the one in core
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2252
diff changeset
11 Category D: remote head is "obs-affected" locally, but result is not part of the push
2252
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
12 TestCase 3: multi-changeset branch, split on multiple new others, only one of them is pushed
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
13
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
14 .. old-state:
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
15 ..
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
16 .. * 2 changesets branch
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
17 ..
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
18 .. new-state:
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
19 ..
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
20 .. * 2 new branches, each superseding one changeset in the old one.
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
21 ..
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
22 .. expected-result:
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
23 ..
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
24 .. * pushing only one of the resulting branch (either of them)
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
25 .. * push denied
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
26 ..
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
27 .. graph-summary:
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
28 ..
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
29 .. B'◔⇢ø B
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
30 .. | |
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
31 .. A | ø⇠◔ A'
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
32 .. | |/
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
33 .. \|
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
34 .. ●
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
35
2277
61d885899466 checkheads: update tests to match the one in core
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2252
diff changeset
36 $ . $TESTDIR/testlib/push-checkheads-util.sh
2252
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
37
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
38 Test setup
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
39 ----------
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
40
2277
61d885899466 checkheads: update tests to match the one in core
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2252
diff changeset
41 $ mkdir D3
61d885899466 checkheads: update tests to match the one in core
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2252
diff changeset
42 $ cd D3
2252
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
43 $ setuprepos
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
44 creating basic server and client repo
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
45 updating to branch default
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
46 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
47 $ cd server
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
48 $ mkcommit B0
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
49 $ hg up 0
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
50 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
51 $ cd ../client
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
52 $ hg pull
2277
61d885899466 checkheads: update tests to match the one in core
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2252
diff changeset
53 pulling from $TESTTMP/D3/server (glob)
2252
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
54 searching for changes
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
55 adding changesets
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
56 adding manifests
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
57 adding file changes
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
58 added 1 changesets with 1 changes to 1 files
4181
ab3581bc0637 branching: preserve the expected output on default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4165
diff changeset
59 new changesets d73caddc5533 (1 drafts)
2252
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
60 (run 'hg update' to get a working copy)
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
61 $ hg up 0
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
62 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
63 $ mkcommit A1
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
64 created new head
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
65 $ hg up '0'
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
66 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
67 $ mkcommit B1
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
68 created new head
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
69 $ hg debugobsolete `getid "desc(A0)" ` `getid "desc(A1)"`
4871
a8ff17479fb8 branching: preserve test change on stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4860
diff changeset
70 1 new obsolescence markers
2754
21f06d932231 test: update test output to match b11e8c67fb0f
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2277
diff changeset
71 obsoleted 1 changesets
3431
2e703ed1c713 evolve: update output for wider reporting of troubled changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 3075
diff changeset
72 1 new orphan changesets
2252
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
73 $ hg debugobsolete `getid "desc(B0)" ` `getid "desc(B1)"`
4871
a8ff17479fb8 branching: preserve test change on stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4860
diff changeset
74 1 new obsolescence markers
2754
21f06d932231 test: update test output to match b11e8c67fb0f
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2277
diff changeset
75 obsoleted 1 changesets
2252
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
76 $ hg log -G --hidden
6259
fc60328270ac tests: add branch to checkheads-related log output
Anton Shestakov <av6@dwimlabs.net>
parents: 5682
diff changeset
77 @ 25c56d33e4c4 [default] (draft): B1
2252
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
78 |
6259
fc60328270ac tests: add branch to checkheads-related log output
Anton Shestakov <av6@dwimlabs.net>
parents: 5682
diff changeset
79 | o f6082bc4ffef [default] (draft): A1
2252
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
80 |/
6259
fc60328270ac tests: add branch to checkheads-related log output
Anton Shestakov <av6@dwimlabs.net>
parents: 5682
diff changeset
81 | x d73caddc5533 [default] (draft): B0
2252
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
82 | |
6259
fc60328270ac tests: add branch to checkheads-related log output
Anton Shestakov <av6@dwimlabs.net>
parents: 5682
diff changeset
83 | x 8aaa48160adc [default] (draft): A0
2252
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
84 |/
6259
fc60328270ac tests: add branch to checkheads-related log output
Anton Shestakov <av6@dwimlabs.net>
parents: 5682
diff changeset
85 o 1e4be0697311 [default] (public): root
2252
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
86
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
87
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
88 Actual testing
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
89 --------------
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
90
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
91 $ hg push --rev 'desc(A1)'
2277
61d885899466 checkheads: update tests to match the one in core
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2252
diff changeset
92 pushing to $TESTTMP/D3/server (glob)
2252
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
93 searching for changes
5672
12c53d7122a7 tests: remove trailing "!" from abort messages
Anton Shestakov <av6@dwimlabs.net>
parents: 4871
diff changeset
94 abort: push creates new remote head f6082bc4ffef
2252
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
95 (merge or see 'hg help push' for details about pushing new heads)
5682
f0d46ffbf1bb tests: update exit code in case of push failing because it'd create new heads
Anton Shestakov <av6@dwimlabs.net>
parents: 5672
diff changeset
96 [20]
2252
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
97 $ hg push --rev 'desc(B1)'
2277
61d885899466 checkheads: update tests to match the one in core
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2252
diff changeset
98 pushing to $TESTTMP/D3/server (glob)
2252
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
99 searching for changes
5672
12c53d7122a7 tests: remove trailing "!" from abort messages
Anton Shestakov <av6@dwimlabs.net>
parents: 4871
diff changeset
100 abort: push creates new remote head 25c56d33e4c4
2252
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
101 (merge or see 'hg help push' for details about pushing new heads)
5682
f0d46ffbf1bb tests: update exit code in case of push failing because it'd create new heads
Anton Shestakov <av6@dwimlabs.net>
parents: 5672
diff changeset
102 [20]
2252
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
103
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
104 Extra testing
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
105 -------------
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
106
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
107 In this case, even a bare push is creating more heads
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
108
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
109 $ hg push
2277
61d885899466 checkheads: update tests to match the one in core
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2252
diff changeset
110 pushing to $TESTTMP/D3/server (glob)
2252
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
111 searching for changes
5672
12c53d7122a7 tests: remove trailing "!" from abort messages
Anton Shestakov <av6@dwimlabs.net>
parents: 4871
diff changeset
112 abort: push creates new remote head 25c56d33e4c4
2252
1353de3e6524 checkheads: add a test of partially pushing a branch spread on multiple other
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
113 (merge or see 'hg help push' for details about pushing new heads)
5682
f0d46ffbf1bb tests: update exit code in case of push failing because it'd create new heads
Anton Shestakov <av6@dwimlabs.net>
parents: 5672
diff changeset
114 [20]
2277
61d885899466 checkheads: update tests to match the one in core
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2252
diff changeset
115
61d885899466 checkheads: update tests to match the one in core
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 2252
diff changeset
116 $ cd ../..