Mercurial > evolve
view tests/test-exchange-obsmarkers-case-A2.t @ 3577:279d8b610ac5
evolve: add a `--stop` flag for `hg evolve` command
This patch adds a `--stop` flag for `hg evolve` command. The stop flag lets you
stop the evolution from where you are and let you move to other things if you
want. This fuctionality is great as user can decide to resolve conflicts later
on, stop the command execution, do something else and get back once they has
time or care about resolving them.
As implementation details, it clears the evolvestate, updates to the parent of
working directory clearing the uncommitted changes which also deletes the
mergestate.
A new test file test-evolve-stop.t is added with tests of the new flag added.
author | Pulkit Goyal <7895pulkit@gmail.com> |
---|---|
date | Tue, 20 Mar 2018 18:41:31 +0530 |
parents | 8feb2cae7eae |
children | ccfcacc5ee7c ef22eef37ecc |
line wrap: on
line source
============================================ Testing obsolescence markers push: Cases A.2 ============================================ Mercurial pushes obsolescences markers relevant to the "pushed-set", the set of all changesets that requested to be "in sync" after the push (even if they are already on both side). This test belongs to a series of tests checking such set is properly computed and applied. This does not tests "obsmarkers" discovery capabilities. Category A: simple cases TestCase 2: Two heads, only one of them pushed A.2 Two heads, only on of then pushed ===================================== .. {{{ .. ⇠○ B .. ⇠◔ | A .. |/ .. ● O .. }}} .. .. Markers exist from: .. .. * A .. * B .. .. .. Command runs: .. .. * hg push -r A .. .. Expected exchange: .. .. * chain from A .. .. Expected Exclude: .. .. * chain from B Setup ----- $ . $TESTDIR/testlib/exchange-obsmarker-util.sh initial $ setuprepos A.2 creating test repo for test case A.2 - pulldest - main - pushdest cd into `main` and proceed with env setup $ cd main $ mkcommit A $ hg debugobsolete aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa `getid 'desc(A)'` $ hg up '.~1' 0 files updated, 0 files merged, 1 files removed, 0 files unresolved $ mkcommit B created new head $ hg debugobsolete bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb `getid 'desc(B)'` $ hg log -G @ 35b183996678 (draft): B | | o f5bc6836db60 (draft): A |/ o a9bdc8b26820 (public): O $ inspect_obsmarkers obsstore content ================ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 35b1839966785d5703a01607229eea932db42f87 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} obshashtree =========== a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04 0000000000000000000000000000000000000000 f5bc6836db60e308a17ba08bf050154ba9c4fad7 50656e04a95ecdfed94659dd61f663b2caa55e98 35b1839966785d5703a01607229eea932db42f87 b9c8f20eef8938ebab939fe6a592587feacf3245 obshashrange ============ rev node index size depth obshash 2 35b183996678 0 2 2 b9c8f20eef89 1 f5bc6836db60 0 2 2 50656e04a95e 2 35b183996678 1 1 2 b9c8f20eef89 0 a9bdc8b26820 0 1 1 000000000000 1 f5bc6836db60 1 1 2 50656e04a95e $ cd .. $ cd .. Actual Test ----------- $ dotest A.2 A ## Running testcase A.2 # testing echange of "A" (f5bc6836db60) ## initial state # obstore: main aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 35b1839966785d5703a01607229eea932db42f87 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} # obstore: pushdest # obstore: pulldest ## pushing "A" from main to pushdest pushing to pushdest searching for changes remote: adding changesets remote: adding manifests remote: adding file changes remote: added 1 changesets with 1 changes to 1 files remote: 1 new obsolescence markers ## post push state # obstore: main aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 35b1839966785d5703a01607229eea932db42f87 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} # obstore: pushdest aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} # obstore: pulldest ## pulling "f5bc6836db60" from main into pulldest pulling from main searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files 1 new obsolescence markers new changesets f5bc6836db60 (run 'hg update' to get a working copy) ## post pull state # obstore: main aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 35b1839966785d5703a01607229eea932db42f87 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} # obstore: pushdest aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} # obstore: pulldest aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} $ cd ..