Mercurial > hg
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 |
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) |