test-obsolete-changeset-exchange.t
181 lines
| 5.8 KiB
| text/troff
|
Tads3Lexer
/ tests / test-obsolete-changeset-exchange.t
|
r17248 | Test changesets filtering during exchanges (some tests are still in | ||
test-obsolete.t) | ||||
|
r22955 | $ cat >> $HGRCPATH << EOF | ||
> [experimental] | ||||
|
r34867 | > evolution.createmarkers=True | ||
|
r17296 | > EOF | ||
|
r17327 | Push does not corrupt remote | ||
---------------------------- | ||||
|
r17248 | |||
Create a DAG where a changeset reuses a revision from a file first used in an | ||||
extinct changeset. | ||||
$ hg init local | ||||
$ cd local | ||||
$ echo 'base' > base | ||||
$ hg commit -Am base | ||||
adding base | ||||
$ echo 'A' > A | ||||
$ hg commit -Am A | ||||
adding A | ||||
$ hg up 0 | ||||
0 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ hg revert -ar 1 | ||||
adding A | ||||
$ hg commit -Am "A'" | ||||
created new head | ||||
$ hg log -G --template='{desc} {node}' | ||||
@ A' f89bcc95eba5174b1ccc3e33a82e84c96e8338ee | ||||
| | ||||
| o A 9d73aac1b2ed7d53835eaeec212ed41ea47da53a | ||||
|/ | ||||
o base d20a80d4def38df63a4b330b7fb688f3d4cae1e3 | ||||
$ hg debugobsolete 9d73aac1b2ed7d53835eaeec212ed41ea47da53a f89bcc95eba5174b1ccc3e33a82e84c96e8338ee | ||||
|
r33542 | obsoleted 1 changesets | ||
|
r17248 | |||
Push it. The bundle should not refer to the extinct changeset. | ||||
$ hg init ../other | ||||
$ hg push ../other | ||||
pushing to ../other | ||||
searching for changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 2 changesets with 2 changes to 2 files | ||||
$ hg -R ../other verify | ||||
checking changesets | ||||
checking manifests | ||||
crosschecking files in changesets and manifests | ||||
checking files | ||||
2 files, 2 changesets, 2 total revisions | ||||
|
r18498 | |||
Adding a changeset going extinct locally | ||||
------------------------------------------ | ||||
Pull a changeset that will immediatly goes extinct (because you already have a | ||||
marker to obsolete him) | ||||
(test resolution of issue3788) | ||||
$ hg phase --draft --force f89bcc95eba5 | ||||
$ hg phase -R ../other --draft --force f89bcc95eba5 | ||||
$ hg commit --amend -m "A''" | ||||
$ hg --hidden --config extensions.mq= strip --no-backup f89bcc95eba5 | ||||
$ hg pull ../other | ||||
pulling from ../other | ||||
searching for changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 1 changesets with 0 changes to 1 files (+1 heads) | ||||
|
r35727 | 1 new phase-divergent changesets | ||
|
r34662 | new changesets f89bcc95eba5 | ||
|
r18498 | (run 'hg heads' to see heads, 'hg merge' to merge) | ||
|
r18499 | |||
check that bundle is not affected | ||||
$ hg bundle --hidden --rev f89bcc95eba5 --base "f89bcc95eba5^" ../f89bcc95eba5.hg | ||||
1 changesets found | ||||
$ hg --hidden --config extensions.mq= strip --no-backup f89bcc95eba5 | ||||
$ hg unbundle ../f89bcc95eba5.hg | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 1 changesets with 0 changes to 1 files (+1 heads) | ||||
(run 'hg heads' to see heads) | ||||
r32516 | ||||
check-that bundle can contain markers: | ||||
|
r34870 | $ hg bundle --hidden --rev f89bcc95eba5 --base "f89bcc95eba5^" ../f89bcc95eba5-obs.hg --config experimental.evolution.bundle-obsmarker=1 | ||
r32516 | 1 changesets found | |||
$ hg debugbundle ../f89bcc95eba5.hg | ||||
|
r34027 | Stream params: {Compression: BZ} | ||
|
r37919 | changegroup -- {nbchanges: 1, version: 02} (mandatory: True) | ||
r32516 | f89bcc95eba5174b1ccc3e33a82e84c96e8338ee | |||
|
r37920 | cache:rev-branch-cache -- {} (mandatory: False) | ||
r32516 | $ hg debugbundle ../f89bcc95eba5-obs.hg | |||
|
r34027 | Stream params: {Compression: BZ} | ||
|
r37919 | changegroup -- {nbchanges: 1, version: 02} (mandatory: True) | ||
r32516 | f89bcc95eba5174b1ccc3e33a82e84c96e8338ee | |||
|
r37920 | cache:rev-branch-cache -- {} (mandatory: False) | ||
|
r37919 | obsmarkers -- {} (mandatory: True) | ||
r32517 | version: 1 (70 bytes) | |||
9d73aac1b2ed7d53835eaeec212ed41ea47da53a f89bcc95eba5174b1ccc3e33a82e84c96e8338ee 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | ||||
r32516 | ||||
|
r27227 | $ cd .. | ||
pull does not fetch excessive changesets when common node is hidden (issue4982) | ||||
------------------------------------------------------------------------------- | ||||
initial repo with server and client matching | ||||
$ hg init pull-hidden-common | ||||
$ cd pull-hidden-common | ||||
$ touch foo | ||||
$ hg -q commit -A -m initial | ||||
$ echo 1 > foo | ||||
$ hg commit -m 1 | ||||
$ echo 2a > foo | ||||
$ hg commit -m 2a | ||||
$ cd .. | ||||
$ hg clone --pull pull-hidden-common pull-hidden-common-client | ||||
requesting all changes | ||||
adding changesets | ||||
adding manifests | ||||
adding file changes | ||||
added 3 changesets with 3 changes to 1 files | ||||
|
r34662 | new changesets 96ee1d7354c4:6a29ed9c68de | ||
|
r27227 | updating to branch default | ||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
server obsoletes the old head | ||||
$ cd pull-hidden-common | ||||
$ hg -q up -r 1 | ||||
$ echo 2b > foo | ||||
$ hg -q commit -m 2b | ||||
$ hg debugobsolete 6a29ed9c68defff1a139e5c6fa9696fb1a75783d bec0734cd68e84477ba7fc1d13e6cff53ab70129 | ||||
|
r33542 | obsoleted 1 changesets | ||
|
r27227 | $ cd .. | ||
client only pulls down 1 changeset | ||||
$ cd pull-hidden-common-client | ||||
$ hg pull --debug | ||||
|
r35394 | pulling from $TESTTMP/pull-hidden-common | ||
|
r27227 | query 1; heads | ||
searching for changes | ||||
|
r27319 | taking quick initial sample | ||
query 2; still undecided: 2, sample size is: 2 | ||||
r32712 | 2 total queries in *.????s (glob) | |||
|
r27319 | 1 changesets found | ||
|
r27227 | list of changesets: | ||
bec0734cd68e84477ba7fc1d13e6cff53ab70129 | ||||
listing keys for "bookmarks" | ||||
|
r36986 | bundle2-output-bundle: "HG20", 4 parts total | ||
|
r27227 | bundle2-output-part: "changegroup" (params: 1 mandatory 1 advisory) streamed payload | ||
bundle2-output-part: "listkeys" (params: 1 mandatory) empty payload | ||||
|
r34323 | bundle2-output-part: "phase-heads" 24 bytes payload | ||
|
r37920 | bundle2-output-part: "cache:rev-branch-cache" (advisory) streamed payload | ||
|
r27227 | bundle2-input-bundle: with-transaction | ||
bundle2-input-part: "changegroup" (params: 1 mandatory 1 advisory) supported | ||||
adding changesets | ||||
add changeset bec0734cd68e | ||||
adding manifests | ||||
adding file changes | ||||
adding foo revisions | ||||
added 1 changesets with 1 changes to 1 files (+1 heads) | ||||
|
r30211 | bundle2-input-part: total payload size 476 | ||
|
r27227 | bundle2-input-part: "listkeys" (params: 1 mandatory) supported | ||
|
r34323 | bundle2-input-part: "phase-heads" supported | ||
bundle2-input-part: total payload size 24 | ||||
|
r37920 | bundle2-input-part: "cache:rev-branch-cache" (advisory) supported | ||
|
r36986 | bundle2-input-part: total payload size 39 | ||
bundle2-input-bundle: 3 parts total | ||||
|
r27227 | checking for updated bookmarks | ||
|
r35767 | updating the branch cache | ||
|
r34662 | new changesets bec0734cd68e | ||
|
r27227 | (run 'hg heads' to see heads, 'hg merge' to merge) | ||