tests/test-exchange-A5.t
author Pierre-Yves David <pierre-yves.david@fb.com>
Tue, 20 May 2014 22:36:47 -0700
changeset 962 d04a52f40f41
parent 957 2cde59f3cb5d
child 1001 f7f4a1fac6c0
permissions -rw-r--r--
evolve: install progress support for the bundle2 pull path The custom wireprotocol command had a trick to display progress while pulling. We reinstall such logic for the new path using bundle2. Its notable that we are using the bundle2 advisory parameter for this purpose.



Initial setup

  $ . $TESTDIR/_exc-util.sh


=== A.5 partial reordering ===
..
.. {{{
..   B ø⇠⇠
..     | 
..   A ø⇠⇠⇠○ A'
..     | ⇡/
..     | ○ B'
..     |/
..      O
.. }}}
..
.. Marker exist from:
..
..  * `⇠○ A'`
..  * `Bø⇠○ B'`
..
.. Command run:
..
..  * hg push -r B
..
.. Expected exchange:
..
..  * `⇠○ B'`
..
.. Expected Exclude:
..
..  * `Aø⇠○ A'`


initial

  $ setuprepos A.5
  creating test repo for test case A.5
  - pulldest
  - main
  - pushdest
  cd into `main` and proceed with env setup
  $ cd main
  $ mkcommit A0
  $ mkcommit B0
  $ hg update 0
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
  $ mkcommit B1
  created new head
  $ mkcommit A1
  $ hg debugobsolete aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa `getid 'desc(A0)'`
  $ hg debugobsolete `getid 'desc(B0)'` `getid 'desc(B1)'`
  $ hg debugobsolete `getid 'desc(A0)'` `getid 'desc(A1)'`
  invalid branchheads cache (served): tip differs
  $ hg log -G --hidden
  @  8c0a98c83722 (draft): A1
  |
  o  f6298a8ac3a4 (draft): B1
  |
  | x  6e72f0a95b5e (draft): B0
  | |
  | x  28b51eb45704 (draft): A0
  |/
  o  a9bdc8b26820 (public): O
  
  $ hg debugobsolete
  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 28b51eb45704506b5c603decd6bf7ac5e0f6a52f 0 {'date': '', 'user': 'test'}
  6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 f6298a8ac3a4b78bbeae5f1d3dc5bc3c3812f0f3 0 {'date': '', 'user': 'test'}
  28b51eb45704506b5c603decd6bf7ac5e0f6a52f 8c0a98c8372212c6efde4bfdcef006f27ff759d3 0 {'date': '', 'user': 'test'}
  $ cd ..
  $ cd ..

Actual Test
-----------

  $ dotest A.5 B1
  ## Running testcase A.5
  # testing echange of "B1" (f6298a8ac3a4)
  ## initial state
  # obstore: main
  28b51eb45704506b5c603decd6bf7ac5e0f6a52f 8c0a98c8372212c6efde4bfdcef006f27ff759d3 0 {'date': '', 'user': 'test'}
  6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 f6298a8ac3a4b78bbeae5f1d3dc5bc3c3812f0f3 0 {'date': '', 'user': 'test'}
  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 28b51eb45704506b5c603decd6bf7ac5e0f6a52f 0 {'date': '', 'user': 'test'}
  # obstore: pushdest
  # obstore: pulldest
  ## pushing "B1" from main to pushdest
  pushing to pushdest
  searching for changes
  adding changesets
  adding manifests
  adding file changes
  added 1 changesets with 1 changes to 1 files
  OBSEXC: computing relevant nodes
  OBSEXC: computing markers relevant to 2 nodes
  OBSEXC: pushing 1 markers (62 bytes)
  OBSEXC: DONE
  ## post push state
  # obstore: main
  28b51eb45704506b5c603decd6bf7ac5e0f6a52f 8c0a98c8372212c6efde4bfdcef006f27ff759d3 0 {'date': '', 'user': 'test'}
  6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 f6298a8ac3a4b78bbeae5f1d3dc5bc3c3812f0f3 0 {'date': '', 'user': 'test'}
  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 28b51eb45704506b5c603decd6bf7ac5e0f6a52f 0 {'date': '', 'user': 'test'}
  # obstore: pushdest
  6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 f6298a8ac3a4b78bbeae5f1d3dc5bc3c3812f0f3 0 {'date': '', 'user': 'test'}
  # obstore: pulldest
  ## pulling "f6298a8ac3a4" 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
  OBSEXC: pull obsolescence markers
  OBSEXC: merging obsolescence markers (62 bytes)
  OBSEXC: 1 markers added
  OBSEXC: DONE
  (run 'hg update' to get a working copy)
  ## post pull state
  # obstore: main
  28b51eb45704506b5c603decd6bf7ac5e0f6a52f 8c0a98c8372212c6efde4bfdcef006f27ff759d3 0 {'date': '', 'user': 'test'}
  6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 f6298a8ac3a4b78bbeae5f1d3dc5bc3c3812f0f3 0 {'date': '', 'user': 'test'}
  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 28b51eb45704506b5c603decd6bf7ac5e0f6a52f 0 {'date': '', 'user': 'test'}
  # obstore: pushdest
  6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 f6298a8ac3a4b78bbeae5f1d3dc5bc3c3812f0f3 0 {'date': '', 'user': 'test'}
  # obstore: pulldest
  6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 f6298a8ac3a4b78bbeae5f1d3dc5bc3c3812f0f3 0 {'date': '', 'user': 'test'}