##// END OF EJS Templates
tests: fix test-sparse-revlog...
tests: fix test-sparse-revlog This one is not covered by the CIbecause I requires an expensive artifact to be cached. So it goes out of think on regular basis (we should fix that…) The test ouput was affected by e706bb41fdb3 as we filtering now happens sooner, removing for the output.

File last commit:

r46735:9261f6c1 default
r50521:da636e7a default
Show More
test-push-checkheads-unpushed-D6.t
86 lines | 2.0 KiB | text/troff | Tads3Lexer
/ tests / test-push-checkheads-unpushed-D6.t
Pierre-Yves David
obsolescence: add test for the "branch replacement" logic during push, case D6...
r31989 ====================================
Testing head checking code: Case D-6
====================================
Mercurial checks for the introduction of new heads on push. Evolution comes
into play to detect if existing branches on the server are being replaced by
some of the new one we push.
This case is part of a series of tests checking this behavior.
Category D: remote head is "obs-affected" locally, but result is not part of the push
TestCase 6: single changeset, superseeded then pruned (on a new changeset unpushed) changeset
This is a partial push variation of case B-6
.. old-state:
..
.. * 1 changeset branch
..
.. new-state:
..
.. * old branch is rewritten onto another one,
.. * the new version is then pruned.
..
.. expected-result:
..
.. * push denied
..
.. graph-summary:
..
.. A ø⇠⊗ A'
.. | |
.. C ◔ | ○ B
.. \|/
.. ●
$ . $TESTDIR/testlib/push-checkheads-util.sh
Test setup
----------
$ mkdir D6
$ cd D6
$ setuprepos
creating basic server and client repo
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd client
$ hg up 0
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ mkcommit B0
created new head
$ mkcommit A1
$ hg up '0'
0 files updated, 0 files merged, 2 files removed, 0 files unresolved
$ mkcommit C0
created new head
$ hg debugobsolete `getid "desc(A0)"` `getid "desc(A1)"`
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
Pierre-Yves David
obsolescence: add test for the "branch replacement" logic during push, case D6...
r31989 $ hg debugobsolete --record-parents `getid "desc(A1)"`
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
Pierre-Yves David
obsolescence: add test for the "branch replacement" logic during push, case D6...
r31989 $ hg log -G --hidden
@ 0f88766e02d6 (draft): C0
|
| x ba93660aff8d (draft): A1
| |
| o 74ff5441d343 (draft): B0
|/
| x 8aaa48160adc (draft): A0
|/
o 1e4be0697311 (public): root
Actual testing
--------------
$ hg push --rev 'desc(C0)'
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 pushing to $TESTTMP/D6/server
Pierre-Yves David
obsolescence: add test for the "branch replacement" logic during push, case D6...
r31989 searching for changes
Martin von Zweigbergk
errors: remove trailing "!" in messages about creating new heads on push...
r46520 abort: push creates new remote head 0f88766e02d6
Pierre-Yves David
obsolescence: add test for the "branch replacement" logic during push, case D6...
r31989 (merge or see 'hg help push' for details about pushing new heads)
Martin von Zweigbergk
errors: raise StateError when push fails because it creates new heads...
r46735 [20]
Pierre-Yves David
obsolescence: add test for the "branch replacement" logic during push, case D6...
r31989
$ cd ../..