annotate tests/test-obsolete-changeset-exchange.t @ 25591:f1d46075b13a

verify: check the subrepository references in .hgsubstate While hopefully atypical, there are reasons that a subrepository revision can be lost that aren't covered by corruption of the .hgsubstate revlog. Such things can happen when a subrepo is amended, stripped or simply isn't pulled from upstream because the parent repo revision wasn't updated yet. There's no way to know if it is an error, but this will find potential problems sooner than when some random revision is updated. Until recently, convert made no attempt at rewriting the .hgsubstate file. The impetuous for this is to verify the conversion of some repositories, and this is orders of magnitude faster than a bash script from 0..tip that does an 'hg update -C $rev'. But it is equally useful to determine if everything has been pulled down before taking a thumb drive on the go. It feels somewhat wrong to leave this out of verifymod (mostly because the file is already read in there, and the final summary is printed before the subrepos are checked). But verifymod looks very low level, so importing subrepo stuff there seems more wrong.
author Matt Harbison <matt_harbison@yahoo.com>
date Tue, 16 Jun 2015 16:15:15 -0400
parents fab9dda0f2a3
children f20533623833
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
17248
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
1 Test changesets filtering during exchanges (some tests are still in
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
2 test-obsolete.t)
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
3
22955
fab9dda0f2a3 obsolete: update tests to use obsolete options
Durham Goode <durham@fb.com>
parents: 18499
diff changeset
4 $ cat >> $HGRCPATH << EOF
fab9dda0f2a3 obsolete: update tests to use obsolete options
Durham Goode <durham@fb.com>
parents: 18499
diff changeset
5 > [experimental]
fab9dda0f2a3 obsolete: update tests to use obsolete options
Durham Goode <durham@fb.com>
parents: 18499
diff changeset
6 > evolution=createmarkers
17296
a1f8869f2eee obsolete: introduce an `_enabled` switch to disable the feature by default
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17248
diff changeset
7 > EOF
a1f8869f2eee obsolete: introduce an `_enabled` switch to disable the feature by default
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17248
diff changeset
8
17327
7f5094bb3f42 test: fix typo in test comment
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17296
diff changeset
9 Push does not corrupt remote
7f5094bb3f42 test: fix typo in test comment
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17296
diff changeset
10 ----------------------------
17248
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
11
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
12 Create a DAG where a changeset reuses a revision from a file first used in an
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
13 extinct changeset.
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
14
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
15 $ hg init local
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
16 $ cd local
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
17 $ echo 'base' > base
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
18 $ hg commit -Am base
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
19 adding base
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
20 $ echo 'A' > A
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
21 $ hg commit -Am A
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
22 adding A
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
23 $ hg up 0
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
24 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
25 $ hg revert -ar 1
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
26 adding A
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
27 $ hg commit -Am "A'"
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
28 created new head
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
29 $ hg log -G --template='{desc} {node}'
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
30 @ A' f89bcc95eba5174b1ccc3e33a82e84c96e8338ee
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
31 |
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
32 | o A 9d73aac1b2ed7d53835eaeec212ed41ea47da53a
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
33 |/
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
34 o base d20a80d4def38df63a4b330b7fb688f3d4cae1e3
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
35
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
36 $ hg debugobsolete 9d73aac1b2ed7d53835eaeec212ed41ea47da53a f89bcc95eba5174b1ccc3e33a82e84c96e8338ee
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
37
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
38 Push it. The bundle should not refer to the extinct changeset.
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
39
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
40 $ hg init ../other
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
41 $ hg push ../other
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
42 pushing to ../other
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
43 searching for changes
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
44 adding changesets
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
45 adding manifests
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
46 adding file changes
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
47 added 2 changesets with 2 changes to 2 files
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
48 $ hg -R ../other verify
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
49 checking changesets
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
50 checking manifests
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
51 crosschecking files in changesets and manifests
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
52 checking files
6ffb35b2284c discovery: add extinct changesets to outgoing.excluded
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
53 2 files, 2 changesets, 2 total revisions
18498
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
54
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
55 Adding a changeset going extinct locally
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
56 ------------------------------------------
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
57
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
58 Pull a changeset that will immediatly goes extinct (because you already have a
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
59 marker to obsolete him)
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
60 (test resolution of issue3788)
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
61
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
62 $ hg phase --draft --force f89bcc95eba5
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
63 $ hg phase -R ../other --draft --force f89bcc95eba5
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
64 $ hg commit --amend -m "A''"
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
65 $ hg --hidden --config extensions.mq= strip --no-backup f89bcc95eba5
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
66 $ hg pull ../other
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
67 pulling from ../other
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
68 searching for changes
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
69 adding changesets
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
70 adding manifests
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
71 adding file changes
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
72 added 1 changesets with 0 changes to 1 files (+1 heads)
4d9f7dd2ac82 pull: fix crash when pulling changeset that get hidden locally (issue3788)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 17327
diff changeset
73 (run 'hg heads' to see heads, 'hg merge' to merge)
18499
d07834e52b4e test-obsolete: validate that bundle is not affected by issue3788
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18498
diff changeset
74
d07834e52b4e test-obsolete: validate that bundle is not affected by issue3788
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18498
diff changeset
75 check that bundle is not affected
d07834e52b4e test-obsolete: validate that bundle is not affected by issue3788
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18498
diff changeset
76
d07834e52b4e test-obsolete: validate that bundle is not affected by issue3788
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18498
diff changeset
77 $ hg bundle --hidden --rev f89bcc95eba5 --base "f89bcc95eba5^" ../f89bcc95eba5.hg
d07834e52b4e test-obsolete: validate that bundle is not affected by issue3788
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18498
diff changeset
78 1 changesets found
d07834e52b4e test-obsolete: validate that bundle is not affected by issue3788
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18498
diff changeset
79 $ hg --hidden --config extensions.mq= strip --no-backup f89bcc95eba5
d07834e52b4e test-obsolete: validate that bundle is not affected by issue3788
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18498
diff changeset
80 $ hg unbundle ../f89bcc95eba5.hg
d07834e52b4e test-obsolete: validate that bundle is not affected by issue3788
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18498
diff changeset
81 adding changesets
d07834e52b4e test-obsolete: validate that bundle is not affected by issue3788
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18498
diff changeset
82 adding manifests
d07834e52b4e test-obsolete: validate that bundle is not affected by issue3788
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18498
diff changeset
83 adding file changes
d07834e52b4e test-obsolete: validate that bundle is not affected by issue3788
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18498
diff changeset
84 added 1 changesets with 0 changes to 1 files (+1 heads)
d07834e52b4e test-obsolete: validate that bundle is not affected by issue3788
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18498
diff changeset
85 (run 'hg heads' to see heads)