Mercurial > evolve
annotate tests/test-exchange-D2.t @ 1410:2c451fece7a6
evolve: unify revision handling and rework error message
This changesets do a massive refactoring of the way evolve select changesets to
be evolve. We now use a two stages approach:
1) read command line argument and produce a list of revision to evolve.
2) evolve all these revisions.
This allow a much cleaner, robust and extensible code. In the process the error
message issued when there is nothing to evolve have been updated to informs
about other troubles in the repository and point at useful option to solve them.
The 'update' case is handled independently at the start of the function.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Fri, 19 Jun 2015 14:26:33 -0700 |
parents | 8a06b32061ce |
children | 778afb036245 |
rev | line source |
---|---|
849
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
1 |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
2 |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
3 Initial setup |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
4 |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
5 $ . $TESTDIR/_exc-util.sh |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
6 |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
7 === D.2 missing prune target (prune in "pushed set") === |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
8 |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
9 {{{ |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
10 }}} |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
11 |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
12 Marker exist from: |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
13 |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
14 * A' succeed to A |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
15 * A' (prune) |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
16 |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
17 Command run: |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
18 |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
19 * hg push |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
20 |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
21 Expected exchange: |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
22 |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
23 * `A ø⇠o A'` |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
24 * A' (prune) |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
25 |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
26 |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
27 $ setuprepos D.2 |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
28 creating test repo for test case D.2 |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
29 - pulldest |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
30 - main |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
31 - pushdest |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
32 cd into `main` and proceed with env setup |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
33 $ cd main |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
34 $ mkcommit A0 |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
35 $ hg up -q 0 |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
36 $ mkcommit A1 |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
37 created new head |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
38 $ hg debugobsolete `getid 'desc(A0)'` `getid 'desc(A1)'` |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
39 $ hg prune --date '0 0' . |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
40 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
41 working directory now at a9bdc8b26820 |
1239
8a06b32061ce
evolve: apply prune update before creating obsolescence markers
Laurent Charignon <lcharignon@fb.com>
parents:
1093
diff
changeset
|
42 1 changesets pruned |
849
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
43 $ hg strip --hidden -q 'desc(A1)' |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
44 $ hg log -G --hidden |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
45 x 28b51eb45704 (draft): A0 |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
46 | |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
47 @ a9bdc8b26820 (public): O |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
48 |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
49 $ 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
|
50 28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} |
1067
5d063fed9e3d
evolve: yield to relevant markers handling in core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
1065
diff
changeset
|
51 e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} |
849
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
52 $ cd .. |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
53 $ cd .. |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
54 |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
55 Actual Test |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
56 ------------------------------------- |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
57 |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
58 $ dotest D.2 |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
59 ## Running testcase D.2 |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
60 ## initial state |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
61 # 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
|
62 28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} |
1067
5d063fed9e3d
evolve: yield to relevant markers handling in core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
1065
diff
changeset
|
63 e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} |
849
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
64 # obstore: pushdest |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
65 # obstore: pulldest |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
66 ## pushing from main to pushdest |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
67 pushing to pushdest |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
68 searching for changes |
1078
5717d023da63
obsexc: use the common discovery
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
1067
diff
changeset
|
69 no changes found |
1093
a49f2e7a2755
obsexch: respect todosteps when using the old push
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
1088
diff
changeset
|
70 remote: 2 new obsolescence markers |
849
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
71 ## post push state |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
72 # 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
|
73 28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} |
1067
5d063fed9e3d
evolve: yield to relevant markers handling in core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
1065
diff
changeset
|
74 e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} |
849
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
75 # 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
|
76 28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} |
1067
5d063fed9e3d
evolve: yield to relevant markers handling in core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
1065
diff
changeset
|
77 e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} |
849
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
78 # obstore: pulldest |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
79 ## pulling from main into pulldest |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
80 pulling from main |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
81 searching for changes |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
82 no changes found |
1093
a49f2e7a2755
obsexch: respect todosteps when using the old push
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
1088
diff
changeset
|
83 2 new obsolescence markers |
849
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
84 ## post pull state |
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
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 28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} |
1067
5d063fed9e3d
evolve: yield to relevant markers handling in core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
1065
diff
changeset
|
87 e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} |
849
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
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 28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} |
1067
5d063fed9e3d
evolve: yield to relevant markers handling in core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
1065
diff
changeset
|
90 e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} |
849
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
91 # 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
|
92 28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} |
1067
5d063fed9e3d
evolve: yield to relevant markers handling in core
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
1065
diff
changeset
|
93 e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 {a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} |
849
cddac452fa40
exchange: add test case for D.2
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
94 |