annotate tests/test-obsolete-check-push.t @ 46149:294d5aca4ff5

copies: iterate over children directly (instead of parents) Before this change we would gather all parent → child edges and iterate on all parent, gathering copy information for children and aggregating them from there. They are not strict requirement for edges to be processed in that specific order. We could also simply iterate over all "children" revision and aggregate data from both parents at the same time. This patch does that. It make various things simpler: * since both parents are processed at the same time, we no longer need to cache data for merge (see next changeset for details), * we no longer need nested loop to process data, * we no longer need to store partial merge data for a rev from distinct loop interaction to another when processing merges, * we no longer need to build a full parent -> children mapping (we only rely on a simpler "parent -> number of children" map (for memory efficiency), * the data access pattern is now simpler (from lower revisions to higher revisions) and entirely predicable. That predictability open the way to prefetching and parallel processing. So that new iterations order requires simpler code and open the way to interesting optimisation. The effect on performance is quite good. In the worse case, we don't see any significant negative impact. And in the best case, the reduction of roundtrip to Python provide us with a significant speed. Some example below: Repo Case Source-Rev Dest-Rev # of revisions old time new time Difference Factor time per rev --------------------------------------------------------------------------------------------------------------------------------------------------------------- mozilla-try x00000_revs_x00000_added_0_copies dc8a3ca7010e d16fde900c9c : 34414 revs, 0.962867 s, 0.502584 s, -0.460283 s, × 0.5220, 14 µs/rev mozilla-try x0000_revs_xx000_added_x_copies 156f6e2674f2 4d0f2c178e66 : 8598 revs, 0.110717 s, 0.076323 s, -0.034394 s, × 0.6894, 8 µs/rev # full comparison between the previous changeset and this one Repo Case Source-Rev Dest-Rev # of revisions old time new time Difference Factor time per rev --------------------------------------------------------------------------------------------------------------------------------------------------------------- mercurial x_revs_x_added_0_copies ad6b123de1c7 39cfcef4f463 : 1 revs, 0.000048 s, 0.000041 s, -0.000007 s, × 0.8542, 41 µs/rev mercurial x_revs_x_added_x_copies 2b1c78674230 0c1d10351869 : 6 revs, 0.000153 s, 0.000102 s, -0.000051 s, × 0.6667, 17 µs/rev mercurial x000_revs_x000_added_x_copies 81f8ff2a9bf2 dd3267698d84 : 1032 revs, 0.004209 s, 0.004254 s, +0.000045 s, × 1.0107, 4 µs/rev pypy x_revs_x_added_0_copies aed021ee8ae8 099ed31b181b : 9 revs, 0.000203 s, 0.000282 s, +0.000079 s, × 1.3892, 31 µs/rev pypy x_revs_x000_added_0_copies 4aa4e1f8e19a 359343b9ac0e : 1 revs, 0.000059 s, 0.000048 s, -0.000011 s, × 0.8136, 48 µs/rev pypy x_revs_x_added_x_copies ac52eb7bbbb0 72e022663155 : 7 revs, 0.000194 s, 0.000211 s, +0.000017 s, × 1.0876, 30 µs/rev pypy x_revs_x00_added_x_copies c3b14617fbd7 ace7255d9a26 : 1 revs, 0.000380 s, 0.000375 s, -0.000005 s, × 0.9868, 375 µs/rev pypy x_revs_x000_added_x000_copies df6f7a526b60 a83dc6a2d56f : 6 revs, 0.010588 s, 0.010574 s, -0.000014 s, × 0.9987, 1762 µs/rev pypy x000_revs_xx00_added_0_copies 89a76aede314 2f22446ff07e : 4785 revs, 0.048961 s, 0.049974 s, +0.001013 s, × 1.0207, 10 µs/rev pypy x000_revs_x000_added_x_copies 8a3b5bfd266e 2c68e87c3efe : 6780 revs, 0.083612 s, 0.084300 s, +0.000688 s, × 1.0082, 12 µs/rev pypy x000_revs_x000_added_x000_copies 89a76aede314 7b3dda341c84 : 5441 revs, 0.058579 s, 0.060128 s, +0.001549 s, × 1.0264, 11 µs/rev pypy x0000_revs_x_added_0_copies d1defd0dc478 c9cb1334cc78 : 43645 revs, 0.736783 s, 0.686542 s, -0.050241 s, × 0.9318, 15 µs/rev pypy x0000_revs_xx000_added_0_copies bf2c629d0071 4ffed77c095c : 2 revs, 0.022050 s, 0.009277 s, -0.012773 s, × 0.4207, 4638 µs/rev pypy x0000_revs_xx000_added_x000_copies 08ea3258278e d9fa043f30c0 : 11316 revs, 0.120800 s, 0.114733 s, -0.006067 s, × 0.9498, 10 µs/rev netbeans x_revs_x_added_0_copies fb0955ffcbcd a01e9239f9e7 : 2 revs, 0.000140 s, 0.000081 s, -0.000059 s, × 0.5786, 40 µs/rev netbeans x_revs_x000_added_0_copies 6f360122949f 20eb231cc7d0 : 2 revs, 0.000114 s, 0.000107 s, -0.000007 s, × 0.9386, 53 µs/rev netbeans x_revs_x_added_x_copies 1ada3faf6fb6 5a39d12eecf4 : 3 revs, 0.000224 s, 0.000173 s, -0.000051 s, × 0.7723, 57 µs/rev netbeans x_revs_x00_added_x_copies 35be93ba1e2c 9eec5e90c05f : 9 revs, 0.000723 s, 0.000698 s, -0.000025 s, × 0.9654, 77 µs/rev netbeans x000_revs_xx00_added_0_copies eac3045b4fdd 51d4ae7f1290 : 1421 revs, 0.009665 s, 0.009248 s, -0.000417 s, × 0.9569, 6 µs/rev netbeans x000_revs_x000_added_x_copies e2063d266acd 6081d72689dc : 1533 revs, 0.014820 s, 0.015446 s, +0.000626 s, × 1.0422, 10 µs/rev netbeans x000_revs_x000_added_x000_copies ff453e9fee32 411350406ec2 : 5750 revs, 0.076049 s, 0.074373 s, -0.001676 s, × 0.9780, 12 µs/rev netbeans x0000_revs_xx000_added_x000_copies 588c2d1ced70 1aad62e59ddd : 66949 revs, 0.683603 s, 0.639870 s, -0.043733 s, × 0.9360, 9 µs/rev mozilla-central x_revs_x_added_0_copies 3697f962bb7b 7015fcdd43a2 : 2 revs, 0.000161 s, 0.000088 s, -0.000073 s, × 0.5466, 44 µs/rev mozilla-central x_revs_x000_added_0_copies dd390860c6c9 40d0c5bed75d : 8 revs, 0.000234 s, 0.000199 s, -0.000035 s, × 0.8504, 24 µs/rev mozilla-central x_revs_x_added_x_copies 8d198483ae3b 14207ffc2b2f : 9 revs, 0.000247 s, 0.000171 s, -0.000076 s, × 0.6923, 19 µs/rev mozilla-central x_revs_x00_added_x_copies 98cbc58cc6bc 446a150332c3 : 7 revs, 0.000630 s, 0.000592 s, -0.000038 s, × 0.9397, 84 µs/rev mozilla-central x_revs_x000_added_x000_copies 3c684b4b8f68 0a5e72d1b479 : 3 revs, 0.003286 s, 0.003151 s, -0.000135 s, × 0.9589, 1050 µs/rev mozilla-central x_revs_x0000_added_x0000_copies effb563bb7e5 c07a39dc4e80 : 6 revs, 0.062441 s, 0.061612 s, -0.000829 s, × 0.9867, 10268 µs/rev mozilla-central x000_revs_xx00_added_0_copies 6100d773079a 04a55431795e : 1593 revs, 0.005423 s, 0.005381 s, -0.000042 s, × 0.9923, 3 µs/rev mozilla-central x000_revs_x000_added_x_copies 9f17a6fc04f9 2d37b966abed : 41 revs, 0.005919 s, 0.003742 s, -0.002177 s, × 0.6322, 91 µs/rev mozilla-central x000_revs_x000_added_x000_copies 7c97034feb78 4407bd0c6330 : 7839 revs, 0.062597 s, 0.061983 s, -0.000614 s, × 0.9902, 7 µs/rev mozilla-central x0000_revs_xx000_added_0_copies 9eec5917337d 67118cc6dcad : 615 revs, 0.043551 s, 0.019861 s, -0.023690 s, × 0.4560, 32 µs/rev mozilla-central x0000_revs_xx000_added_x000_copies f78c615a656c 96a38b690156 : 30263 revs, 0.192475 s, 0.188101 s, -0.004374 s, × 0.9773, 6 µs/rev mozilla-central x00000_revs_x0000_added_x0000_copies 6832ae71433c 4c222a1d9a00 : 153721 revs, 1.955575 s, 1.806696 s, -0.148879 s, × 0.9239, 11 µs/rev mozilla-central x00000_revs_x00000_added_x000_copies 76caed42cf7c 1daa622bbe42 : 204976 revs, 2.886501 s, 2.682987 s, -0.203514 s, × 0.9295, 13 µs/rev mozilla-try x_revs_x_added_0_copies aaf6dde0deb8 9790f499805a : 2 revs, 0.001181 s, 0.000852 s, -0.000329 s, × 0.7214, 426 µs/rev mozilla-try x_revs_x000_added_0_copies d8d0222927b4 5bb8ce8c7450 : 2 revs, 0.001189 s, 0.000859 s, -0.000330 s, × 0.7225, 429 µs/rev mozilla-try x_revs_x_added_x_copies 092fcca11bdb 936255a0384a : 4 revs, 0.000563 s, 0.000150 s, -0.000413 s, × 0.2664, 37 µs/rev mozilla-try x_revs_x00_added_x_copies b53d2fadbdb5 017afae788ec : 2 revs, 0.001548 s, 0.001158 s, -0.000390 s, × 0.7481, 579 µs/rev mozilla-try x_revs_x000_added_x000_copies 20408ad61ce5 6f0ee96e21ad : 1 revs, 0.027782 s, 0.027240 s, -0.000542 s, × 0.9805, 27240 µs/rev mozilla-try x_revs_x0000_added_x0000_copies effb563bb7e5 c07a39dc4e80 : 6 revs, 0.062781 s, 0.062824 s, +0.000043 s, × 1.0007, 10470 µs/rev mozilla-try x000_revs_xx00_added_0_copies 6100d773079a 04a55431795e : 1593 revs, 0.005778 s, 0.005463 s, -0.000315 s, × 0.9455, 3 µs/rev mozilla-try x000_revs_x000_added_x_copies 9f17a6fc04f9 2d37b966abed : 41 revs, 0.006192 s, 0.004238 s, -0.001954 s, × 0.6844, 103 µs/rev mozilla-try x000_revs_x000_added_x000_copies 1346fd0130e4 4c65cbdabc1f : 6657 revs, 0.065391 s, 0.064113 s, -0.001278 s, × 0.9805, 9 µs/rev mozilla-try x0000_revs_x_added_0_copies 63519bfd42ee a36a2a865d92 : 40314 revs, 0.317216 s, 0.294063 s, -0.023153 s, × 0.9270, 7 µs/rev mozilla-try x0000_revs_x_added_x_copies 9fe69ff0762d bcabf2a78927 : 38690 revs, 0.303119 s, 0.281493 s, -0.021626 s, × 0.9287, 7 µs/rev mozilla-try x0000_revs_xx000_added_x_copies 156f6e2674f2 4d0f2c178e66 : 8598 revs, 0.110717 s, 0.076323 s, -0.034394 s, × 0.6894, 8 µs/rev mozilla-try x0000_revs_xx000_added_0_copies 9eec5917337d 67118cc6dcad : 615 revs, 0.045739 s, 0.020390 s, -0.025349 s, × 0.4458, 33 µs/rev mozilla-try x0000_revs_xx000_added_x000_copies 89294cd501d9 7ccb2fc7ccb5 : 97052 revs, 3.098021 s, 3.023879 s, -0.074142 s, × 0.9761, 31 µs/rev mozilla-try x0000_revs_x0000_added_x0000_copies e928c65095ed e951f4ad123a : 52031 revs, 0.771480 s, 0.735549 s, -0.035931 s, × 0.9534, 14 µs/rev mozilla-try x00000_revs_x_added_0_copies 6a320851d377 1ebb79acd503 : 363753 revs, 18.813422 s, 18.568900 s, -0.244522 s, × 0.9870, 51 µs/rev mozilla-try x00000_revs_x00000_added_0_copies dc8a3ca7010e d16fde900c9c : 34414 revs, 0.962867 s, 0.502584 s, -0.460283 s, × 0.5220, 14 µs/rev mozilla-try x00000_revs_x_added_x_copies 5173c4b6f97c 95d83ee7242d : 362229 revs, 18.684923 s, 18.356645 s, -0.328278 s, × 0.9824, 50 µs/rev mozilla-try x00000_revs_x000_added_x_copies 9126823d0e9c ca82787bb23c : 359344 revs, 18.296305 s, 18.250393 s, -0.045912 s, × 0.9975, 50 µs/rev mozilla-try x00000_revs_x0000_added_x0000_copies 8d3fafa80d4b eb884023b810 : 192665 revs, 3.061887 s, 2.792459 s, -0.269428 s, × 0.9120, 14 µs/rev mozilla-try x00000_revs_x00000_added_x0000_copies 1b661134e2ca 1ae03d022d6d : 228985 revs, 103.869641 s, 107.697264 s, +3.827623 s, × 1.0369, 470 µs/rev mozilla-try x00000_revs_x00000_added_x000_copies 9b2a99adc05e 8e29777b48e6 : 382065 revs, 64.262957 s, 63.961040 s, -0.301917 s, × 0.9953, 167 µs/rev Differential Revision: https://phab.mercurial-scm.org/D9422
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Mon, 14 Dec 2020 11:32:24 +0100
parents 559ebfb5a58e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
45224
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
1 =======================================================
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
2 Test check for obsolescence and instability during push
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
3 =======================================================
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
4
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
5 $ . $TESTDIR/testlib/obsmarker-common.sh
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
6
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
7 $ cat >> $HGRCPATH << EOF
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
8 > [phases]
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
9 > publish=false
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
10 > [experimental]
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
11 > evolution = all
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
12 > EOF
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
13
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
14
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
15 Tests that pushing orphaness to the server is detected
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
16 ======================================================
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
17
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
18 initial setup
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
19
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
20 $ mkdir base
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
21 $ cd base
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
22 $ hg init server
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
23 $ cd server
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
24 $ mkcommit root
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
25 $ hg phase --public .
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
26 $ mkcommit commit_A0_
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
27 $ mkcommit commit_B0_
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
28 $ cd ..
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
29 $ hg init client
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
30 $ cd client
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
31 $ echo '[paths]' >> .hg/hgrc
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
32 $ echo 'default=../server' >> .hg/hgrc
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
33 $ hg pull
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
34 pulling from $TESTTMP/base/server
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
35 requesting all changes
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
36 adding changesets
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
37 adding manifests
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
38 adding file changes
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
39 added 3 changesets with 3 changes to 3 files
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
40 new changesets 1e4be0697311:c09d8ab29fda (2 drafts)
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
41 (run 'hg update' to get a working copy)
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
42 $ hg up 'desc("root")'
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
43 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
44 (having some unrelated change affects discovery result, we should ideally test both case)
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
45 $ hg branch unrelated --quiet
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
46 $ mkcommit unrelated
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
47 $ hg up null
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
48 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
49 $ hg log -G
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
50 o changeset: 3:16affbe0f986
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
51 | branch: unrelated
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
52 | tag: tip
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
53 | parent: 0:1e4be0697311
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
54 | user: test
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
55 | date: Thu Jan 01 00:00:00 1970 +0000
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
56 | summary: unrelated
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
57 |
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
58 | o changeset: 2:c09d8ab29fda
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
59 | | user: test
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
60 | | date: Thu Jan 01 00:00:00 1970 +0000
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
61 | | summary: commit_B0_
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
62 | |
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
63 | o changeset: 1:37624bf21024
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
64 |/ user: test
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
65 | date: Thu Jan 01 00:00:00 1970 +0000
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
66 | summary: commit_A0_
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
67 |
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
68 o changeset: 0:1e4be0697311
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
69 user: test
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
70 date: Thu Jan 01 00:00:00 1970 +0000
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
71 summary: root
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
72
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
73 $ cd ..
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
74 $ cd ..
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
75
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
76
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
77 Orphan from pruning
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
78 -------------------
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
79
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
80 Setup
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
81
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
82 $ cp -R base check-pruned
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
83 $ cd check-pruned/client
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
84 $ hg debugobsolete --record-parents `getid 'desc("commit_A0_")'`
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
85 1 new obsolescence markers
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
86 obsoleted 1 changesets
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
87 1 new orphan changesets
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
88 $ hg log -G
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
89 o changeset: 3:16affbe0f986
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
90 | branch: unrelated
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
91 | tag: tip
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
92 | parent: 0:1e4be0697311
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
93 | user: test
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
94 | date: Thu Jan 01 00:00:00 1970 +0000
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
95 | summary: unrelated
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
96 |
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
97 | * changeset: 2:c09d8ab29fda
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
98 | | user: test
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
99 | | date: Thu Jan 01 00:00:00 1970 +0000
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
100 | | instability: orphan
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
101 | | summary: commit_B0_
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
102 | |
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
103 | x changeset: 1:37624bf21024
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
104 |/ user: test
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
105 | date: Thu Jan 01 00:00:00 1970 +0000
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
106 | obsolete: pruned
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
107 | summary: commit_A0_
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
108 |
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
109 o changeset: 0:1e4be0697311
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
110 user: test
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
111 date: Thu Jan 01 00:00:00 1970 +0000
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
112 summary: root
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
113
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
114
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
115 Pushing the result is prevented with a message
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
116
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
117 $ hg push --new-branch
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
118 pushing to $TESTTMP/check-pruned/server
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
119 searching for changes
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
120 abort: push includes orphan changeset: c09d8ab29fda!
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
121 [255]
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
122
187cc478e18f push: test the checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
123 $ cd ../..
45225
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
124
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
125
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
126 Orphan from superseding
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
127 -----------------------
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
128
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
129 Setup
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
130
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
131 $ cp -R base check-superseded
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
132 $ cd check-superseded/client
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
133 $ hg up 'desc("commit_A0_")'
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
134 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
135 $ hg branch other
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
136 marked working directory as branch other
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
137 $ hg commit --amend -m commit_A1_
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
138 1 new orphan changesets
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
139 $ hg log -G
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
140 @ changeset: 4:df9b82a99e21
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
141 | branch: other
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
142 | tag: tip
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
143 | parent: 0:1e4be0697311
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
144 | user: test
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
145 | date: Thu Jan 01 00:00:00 1970 +0000
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
146 | summary: commit_A1_
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
147 |
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
148 | o changeset: 3:16affbe0f986
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
149 |/ branch: unrelated
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
150 | parent: 0:1e4be0697311
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
151 | user: test
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
152 | date: Thu Jan 01 00:00:00 1970 +0000
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
153 | summary: unrelated
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
154 |
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
155 | * changeset: 2:c09d8ab29fda
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
156 | | user: test
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
157 | | date: Thu Jan 01 00:00:00 1970 +0000
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
158 | | instability: orphan
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
159 | | summary: commit_B0_
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
160 | |
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
161 | x changeset: 1:37624bf21024
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
162 |/ user: test
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
163 | date: Thu Jan 01 00:00:00 1970 +0000
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
164 | obsolete: rewritten using amend as 4:df9b82a99e21
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
165 | summary: commit_A0_
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
166 |
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
167 o changeset: 0:1e4be0697311
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
168 user: test
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
169 date: Thu Jan 01 00:00:00 1970 +0000
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
170 summary: root
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
171
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
172
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
173 Pushing the result is prevented with a message
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
174
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
175 $ hg push --new-branch
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
176 pushing to $TESTTMP/check-superseded/server
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
177 searching for changes
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
178 abort: push includes orphan changeset: c09d8ab29fda!
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
179 [255]
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
180
fc751824ae97 push: another test for checks preventing pushing orphaness to a server
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45224
diff changeset
181 $ cd ../..
45226
5ff77aaba1e4 push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45225
diff changeset
182
5ff77aaba1e4 push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45225
diff changeset
183 Tests that user get warned if it is about to publish obsolete/unstable content
5ff77aaba1e4 push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45225
diff changeset
184 ------------------------------------------------------------------------------
5ff77aaba1e4 push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45225
diff changeset
185
5ff77aaba1e4 push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45225
diff changeset
186 Orphan from pruning
5ff77aaba1e4 push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45225
diff changeset
187 -------------------
5ff77aaba1e4 push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45225
diff changeset
188
5ff77aaba1e4 push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45225
diff changeset
189 Make sure the only difference is phase:
5ff77aaba1e4 push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45225
diff changeset
190
5ff77aaba1e4 push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45225
diff changeset
191 $ cd check-pruned/client
5ff77aaba1e4 push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45225
diff changeset
192 $ hg push --force --rev 'not desc("unrelated")'
5ff77aaba1e4 push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45225
diff changeset
193 pushing to $TESTTMP/check-pruned/server
5ff77aaba1e4 push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45225
diff changeset
194 searching for changes
5ff77aaba1e4 push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45225
diff changeset
195 no changes found
5ff77aaba1e4 push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45225
diff changeset
196 1 new obsolescence markers
5ff77aaba1e4 push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45225
diff changeset
197 obsoleted 1 changesets
5ff77aaba1e4 push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45225
diff changeset
198 1 new orphan changesets
5ff77aaba1e4 push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45225
diff changeset
199 [1]
5ff77aaba1e4 push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45225
diff changeset
200
5ff77aaba1e4 push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45225
diff changeset
201 Check something prevents a silent publication of the obsolete changeset
5ff77aaba1e4 push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45225
diff changeset
202
5ff77aaba1e4 push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45225
diff changeset
203 $ hg push --publish --new-branch
5ff77aaba1e4 push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45225
diff changeset
204 pushing to $TESTTMP/check-pruned/server
5ff77aaba1e4 push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45225
diff changeset
205 searching for changes
5ff77aaba1e4 push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45225
diff changeset
206 abort: push includes orphan changeset: c09d8ab29fda!
5ff77aaba1e4 push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45225
diff changeset
207 [255]
5ff77aaba1e4 push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45225
diff changeset
208
5ff77aaba1e4 push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45225
diff changeset
209 $ cd ../..
45227
559ebfb5a58e push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45226
diff changeset
210
559ebfb5a58e push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45226
diff changeset
211 Orphan from superseding
559ebfb5a58e push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45226
diff changeset
212 -----------------------
559ebfb5a58e push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45226
diff changeset
213
559ebfb5a58e push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45226
diff changeset
214 Make sure the only difference is phase:
559ebfb5a58e push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45226
diff changeset
215
559ebfb5a58e push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45226
diff changeset
216 $ cd check-superseded/client
559ebfb5a58e push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45226
diff changeset
217 $ hg push --force --rev 'not desc("unrelated")'
559ebfb5a58e push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45226
diff changeset
218 pushing to $TESTTMP/check-superseded/server
559ebfb5a58e push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45226
diff changeset
219 searching for changes
559ebfb5a58e push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45226
diff changeset
220 adding changesets
559ebfb5a58e push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45226
diff changeset
221 adding manifests
559ebfb5a58e push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45226
diff changeset
222 adding file changes
559ebfb5a58e push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45226
diff changeset
223 added 1 changesets with 0 changes to 0 files (+1 heads)
559ebfb5a58e push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45226
diff changeset
224 1 new obsolescence markers
559ebfb5a58e push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45226
diff changeset
225 obsoleted 1 changesets
559ebfb5a58e push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45226
diff changeset
226 1 new orphan changesets
559ebfb5a58e push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45226
diff changeset
227
559ebfb5a58e push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45226
diff changeset
228 Check something prevents a silent publication of the obsolete changeset
559ebfb5a58e push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45226
diff changeset
229
559ebfb5a58e push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45226
diff changeset
230 $ hg push --publish --new-branch
559ebfb5a58e push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45226
diff changeset
231 pushing to $TESTTMP/check-superseded/server
559ebfb5a58e push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45226
diff changeset
232 searching for changes
559ebfb5a58e push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45226
diff changeset
233 abort: push includes orphan changeset: c09d8ab29fda!
559ebfb5a58e push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45226
diff changeset
234 [255]
559ebfb5a58e push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45226
diff changeset
235
559ebfb5a58e push: test for checks preventing publishing obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45226
diff changeset
236 $ cd ../..