annotate tests/test-exchange-A2.t @ 1362:73e5b5280c1c

inhibit: improve performance of transaction wrapping Before this patch, transaction wrapping was the most expensive part of inhibit computation wise. This patch changes the revset that we use in the transaction wrapping to make it ~50x faster to compute: revset #0: obsolete() - hidden() 0) wall 0.000214 comb 0.000000 user 0.000000 sys 0.000000 (best of 11209) vs revset #0: (not hidden()) and obsolete() 0) wall 0.010965 comb 0.010000 user 0.010000 sys 0.000000 (best of 237)
author Laurent Charignon <lcharignon@fb.com>
date Sat, 13 Jun 2015 11:14:27 -0700
parents a49f2e7a2755
children 778afb036245
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
828
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
1
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
2
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
3 Initial setup
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
4
829
0943f327e2fb exchance: add a common setup script for all test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 828
diff changeset
5 $ . $TESTDIR/_exc-util.sh
828
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
6
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
7 === A.2 Two heads ===
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
8
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
9 .. {{{
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
10 .. ⇠○ B
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
11 .. ⇠◔ | A
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
12 .. |/
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
13 .. ● O
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
14 .. }}}
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
15 ..
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
16 .. Marker exist from:
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
17 ..
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
18 .. * A
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
19 .. * B
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
20 ..
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
21 ..
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
22 .. Command run:
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
23 ..
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
24 .. * hg push -r A
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
25 ..
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
26 .. Expected exchange:
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
27 ..
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
28 .. * chain from A
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
29 ..
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
30 .. Expected Exclude:
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
31 ..
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
32 .. * chain from B
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
33
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
34 initial
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
35
830
f3b3a09ba312 exchange: have a function doing all the common initial setup
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 829
diff changeset
36 $ setuprepos A.2
f3b3a09ba312 exchange: have a function doing all the common initial setup
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 829
diff changeset
37 creating test repo for test case A.2
f3b3a09ba312 exchange: have a function doing all the common initial setup
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 829
diff changeset
38 - pulldest
f3b3a09ba312 exchange: have a function doing all the common initial setup
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 829
diff changeset
39 - main
f3b3a09ba312 exchange: have a function doing all the common initial setup
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 829
diff changeset
40 - pushdest
f3b3a09ba312 exchange: have a function doing all the common initial setup
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 829
diff changeset
41 cd into `main` and proceed with env setup
828
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
42 $ cd main
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
43 $ mkcommit A
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
44 $ hg debugobsolete aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa `getid 'desc(A)'`
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
45 $ hg up .^
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
46 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
47 $ mkcommit B
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
48 created new head
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
49 $ hg debugobsolete bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb `getid 'desc(B)'`
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
50 $ hg log -G
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
51 @ 35b183996678 (draft): B
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
52 |
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
53 | o f5bc6836db60 (draft): A
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
54 |/
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
55 o a9bdc8b26820 (public): O
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
56
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
57 $ hg debugobsolete
1065
f355bbc124fc test: update test to new date formatting in debuobsolete output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1060
diff changeset
58 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
f355bbc124fc test: update test to new date formatting in debuobsolete output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1060
diff changeset
59 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 35b1839966785d5703a01607229eea932db42f87 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
828
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
60 $ cd ..
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
61 $ cd ..
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
62
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
63
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
64 Actual Test
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
65 ---------------
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
66
831
a6af6919888d exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 830
diff changeset
67 $ dotest A.2 A
a6af6919888d exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 830
diff changeset
68 ## Running testcase A.2
a6af6919888d exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 830
diff changeset
69 # testing echange of "A" (f5bc6836db60)
a6af6919888d exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 830
diff changeset
70 ## initial state
a6af6919888d exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 830
diff changeset
71 # obstore: main
1065
f355bbc124fc test: update test to new date formatting in debuobsolete output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1060
diff changeset
72 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
f355bbc124fc test: update test to new date formatting in debuobsolete output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1060
diff changeset
73 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 35b1839966785d5703a01607229eea932db42f87 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
831
a6af6919888d exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 830
diff changeset
74 # obstore: pushdest
a6af6919888d exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 830
diff changeset
75 # obstore: pulldest
a6af6919888d exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 830
diff changeset
76 ## pushing "A" from main to pushdest
828
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
77 pushing to pushdest
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
78 searching for changes
1089
cdd22a5e5ef1 enable bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1088
diff changeset
79 remote: adding changesets
cdd22a5e5ef1 enable bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1088
diff changeset
80 remote: adding manifests
cdd22a5e5ef1 enable bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1088
diff changeset
81 remote: adding file changes
cdd22a5e5ef1 enable bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1088
diff changeset
82 remote: added 1 changesets with 1 changes to 1 files
1093
a49f2e7a2755 obsexch: respect todosteps when using the old push
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1089
diff changeset
83 remote: 1 new obsolescence markers
831
a6af6919888d exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 830
diff changeset
84 ## post push state
a6af6919888d exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 830
diff changeset
85 # obstore: main
1065
f355bbc124fc test: update test to new date formatting in debuobsolete output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1060
diff changeset
86 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
f355bbc124fc test: update test to new date formatting in debuobsolete output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1060
diff changeset
87 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 35b1839966785d5703a01607229eea932db42f87 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
831
a6af6919888d exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 830
diff changeset
88 # obstore: pushdest
1065
f355bbc124fc test: update test to new date formatting in debuobsolete output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1060
diff changeset
89 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
831
a6af6919888d exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 830
diff changeset
90 # obstore: pulldest
a6af6919888d exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 830
diff changeset
91 ## pulling "f5bc6836db60" from main into pulldest
828
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
92 pulling from main
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
93 searching for changes
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
94 adding changesets
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
95 adding manifests
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
96 adding file changes
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
97 added 1 changesets with 1 changes to 1 files
1093
a49f2e7a2755 obsexch: respect todosteps when using the old push
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1089
diff changeset
98 1 new obsolescence markers
828
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
99 (run 'hg update' to get a working copy)
831
a6af6919888d exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 830
diff changeset
100 ## post pull state
a6af6919888d exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 830
diff changeset
101 # obstore: main
1065
f355bbc124fc test: update test to new date formatting in debuobsolete output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1060
diff changeset
102 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
f355bbc124fc test: update test to new date formatting in debuobsolete output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1060
diff changeset
103 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 35b1839966785d5703a01607229eea932db42f87 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
831
a6af6919888d exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 830
diff changeset
104 # obstore: pushdest
1065
f355bbc124fc test: update test to new date formatting in debuobsolete output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1060
diff changeset
105 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
831
a6af6919888d exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 830
diff changeset
106 # obstore: pulldest
1065
f355bbc124fc test: update test to new date formatting in debuobsolete output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1060
diff changeset
107 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
828
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
108
831
a6af6919888d exchange: automate the testing process too
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 830
diff changeset
109
828
c362513b3c7e exchange: add test case for A.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
110 $ cd ..