Mercurial > hg
view tests/test-ssh-clone-r.t @ 49991:3997c64eff8b
test: use a more direct approach to test racy mutation
The previous test was relying on implementation details and harder to maintain.
The new version is closer to the initial intend : "What happens the file get overwritten from under the current process"
This change is motivated by further changes around the transaction and dirstate
logic that would break the fragile equilibrium that existed before this patch.
Making this change early make it easier to review on its own and remove noise
in future larger changes.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Tue, 07 Feb 2023 13:14:59 +0100 |
parents | 2f2682f40ea0 |
children |
line wrap: on
line source
This test tries to exercise the ssh functionality with a dummy script creating 'remote' repo $ hg init remote $ cd remote $ hg unbundle "$TESTDIR/bundles/remote.hg" adding changesets adding manifests adding file changes added 9 changesets with 7 changes to 4 files (+1 heads) new changesets bfaf4b5cbf01:916f1afdef90 (9 drafts) (run 'hg heads' to see heads, 'hg merge' to merge) $ hg up tip 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ cd .. clone remote via stream $ for i in 0 1 2 3 4 5 6 7 8; do > hg clone --stream -r "$i" ssh://user@dummy/remote test-"$i" > if cd test-"$i"; then > hg verify -q > cd .. > fi > done adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files new changesets bfaf4b5cbf01 updating to branch default 1 files updated, 0 files merged, 0 files removed, 0 files unresolved adding changesets adding manifests adding file changes added 2 changesets with 2 changes to 1 files new changesets bfaf4b5cbf01:21f32785131f updating to branch default 1 files updated, 0 files merged, 0 files removed, 0 files unresolved adding changesets adding manifests adding file changes added 3 changesets with 3 changes to 1 files new changesets bfaf4b5cbf01:4ce51a113780 updating to branch default 1 files updated, 0 files merged, 0 files removed, 0 files unresolved adding changesets adding manifests adding file changes added 4 changesets with 4 changes to 1 files new changesets bfaf4b5cbf01:93ee6ab32777 updating to branch default 1 files updated, 0 files merged, 0 files removed, 0 files unresolved adding changesets adding manifests adding file changes added 2 changesets with 2 changes to 1 files new changesets bfaf4b5cbf01:c70afb1ee985 updating to branch default 1 files updated, 0 files merged, 0 files removed, 0 files unresolved adding changesets adding manifests adding file changes added 3 changesets with 3 changes to 1 files new changesets bfaf4b5cbf01:f03ae5a9b979 updating to branch default 1 files updated, 0 files merged, 0 files removed, 0 files unresolved adding changesets adding manifests adding file changes added 4 changesets with 5 changes to 2 files new changesets bfaf4b5cbf01:095cb14b1b4d updating to branch default 2 files updated, 0 files merged, 0 files removed, 0 files unresolved adding changesets adding manifests adding file changes added 5 changesets with 6 changes to 3 files new changesets bfaf4b5cbf01:faa2e4234c7a updating to branch default 2 files updated, 0 files merged, 0 files removed, 0 files unresolved adding changesets adding manifests adding file changes added 5 changesets with 5 changes to 2 files new changesets bfaf4b5cbf01:916f1afdef90 updating to branch default 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ cd test-8 $ hg pull ../test-7 pulling from ../test-7 searching for changes adding changesets adding manifests adding file changes added 4 changesets with 2 changes to 3 files (+1 heads) new changesets c70afb1ee985:faa2e4234c7a (run 'hg heads' to see heads, 'hg merge' to merge) $ hg verify -q $ cd .. $ cd test-1 $ hg pull -r 4 ssh://user@dummy/remote pulling from ssh://user@dummy/remote searching for changes adding changesets adding manifests adding file changes added 1 changesets with 0 changes to 0 files (+1 heads) new changesets c70afb1ee985 (run 'hg heads' to see heads, 'hg merge' to merge) $ hg verify -q $ hg pull ssh://user@dummy/remote pulling from ssh://user@dummy/remote searching for changes adding changesets adding manifests adding file changes added 6 changesets with 5 changes to 4 files new changesets 4ce51a113780:916f1afdef90 (run 'hg update' to get a working copy) $ cd .. $ cd test-2 $ hg pull -r 5 ssh://user@dummy/remote pulling from ssh://user@dummy/remote searching for changes adding changesets adding manifests adding file changes added 2 changesets with 0 changes to 0 files (+1 heads) new changesets c70afb1ee985:f03ae5a9b979 (run 'hg heads' to see heads, 'hg merge' to merge) $ hg verify -q $ hg pull ssh://user@dummy/remote pulling from ssh://user@dummy/remote searching for changes adding changesets adding manifests adding file changes added 4 changesets with 4 changes to 4 files new changesets 93ee6ab32777:916f1afdef90 (run 'hg update' to get a working copy) $ hg verify -q $ cd ..