Mercurial > hg
changeset 45224:187cc478e18f stable
push: test the checks preventing pushing orphaness to a server
This is introduce a simple example, more are coming. See inline documentation
for details.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Thu, 23 Jul 2020 16:23:43 +0200 |
parents | 6063c1857d0a |
children | fc751824ae97 |
files | tests/test-obsolete-check-push.t |
diffstat | 1 files changed, 123 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-obsolete-check-push.t Thu Jul 23 16:23:43 2020 +0200 @@ -0,0 +1,123 @@ +======================================================= +Test check for obsolescence and instability during push +======================================================= + + $ . $TESTDIR/testlib/obsmarker-common.sh + + $ cat >> $HGRCPATH << EOF + > [phases] + > publish=false + > [experimental] + > evolution = all + > EOF + + +Tests that pushing orphaness to the server is detected +====================================================== + +initial setup + + $ mkdir base + $ cd base + $ hg init server + $ cd server + $ mkcommit root + $ hg phase --public . + $ mkcommit commit_A0_ + $ mkcommit commit_B0_ + $ cd .. + $ hg init client + $ cd client + $ echo '[paths]' >> .hg/hgrc + $ echo 'default=../server' >> .hg/hgrc + $ hg pull + pulling from $TESTTMP/base/server + requesting all changes + adding changesets + adding manifests + adding file changes + added 3 changesets with 3 changes to 3 files + new changesets 1e4be0697311:c09d8ab29fda (2 drafts) + (run 'hg update' to get a working copy) + $ hg up 'desc("root")' + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved +(having some unrelated change affects discovery result, we should ideally test both case) + $ hg branch unrelated --quiet + $ mkcommit unrelated + $ hg up null + 0 files updated, 0 files merged, 2 files removed, 0 files unresolved + $ hg log -G + o changeset: 3:16affbe0f986 + | branch: unrelated + | tag: tip + | parent: 0:1e4be0697311 + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: unrelated + | + | o changeset: 2:c09d8ab29fda + | | user: test + | | date: Thu Jan 01 00:00:00 1970 +0000 + | | summary: commit_B0_ + | | + | o changeset: 1:37624bf21024 + |/ user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: commit_A0_ + | + o changeset: 0:1e4be0697311 + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: root + + $ cd .. + $ cd .. + + +Orphan from pruning +------------------- + +Setup + + $ cp -R base check-pruned + $ cd check-pruned/client + $ hg debugobsolete --record-parents `getid 'desc("commit_A0_")'` + 1 new obsolescence markers + obsoleted 1 changesets + 1 new orphan changesets + $ hg log -G + o changeset: 3:16affbe0f986 + | branch: unrelated + | tag: tip + | parent: 0:1e4be0697311 + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: unrelated + | + | * changeset: 2:c09d8ab29fda + | | user: test + | | date: Thu Jan 01 00:00:00 1970 +0000 + | | instability: orphan + | | summary: commit_B0_ + | | + | x changeset: 1:37624bf21024 + |/ user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | obsolete: pruned + | summary: commit_A0_ + | + o changeset: 0:1e4be0697311 + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: root + + +Pushing the result is prevented with a message + + $ hg push --new-branch + pushing to $TESTTMP/check-pruned/server + searching for changes + abort: push includes orphan changeset: c09d8ab29fda! + [255] + + $ cd ../..