Mercurial > hg
annotate tests/test-revert.t @ 22136:a29574cb8552
test-revert: add case where the file is removed between "base" and "parent"
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Fri, 27 Jun 2014 18:01:16 +0200 |
parents | 37d2bd2c04f6 |
children | 2cfe5ec47803 |
rev | line source |
---|---|
12106
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
1 $ hg init repo |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
2 $ cd repo |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
3 $ echo 123 > a |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
4 $ echo 123 > c |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
5 $ echo 123 > e |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
6 $ hg add a c e |
12156
4c94b6d0fb1c
tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents:
12106
diff
changeset
|
7 $ hg commit -m "first" a c e |
14745
cae09a39b2d2
test-revert: add case for nothing changed
Adrian Buehlmann <adrian@cadifra.com>
parents:
14726
diff
changeset
|
8 |
cae09a39b2d2
test-revert: add case for nothing changed
Adrian Buehlmann <adrian@cadifra.com>
parents:
14726
diff
changeset
|
9 nothing changed |
cae09a39b2d2
test-revert: add case for nothing changed
Adrian Buehlmann <adrian@cadifra.com>
parents:
14726
diff
changeset
|
10 |
cae09a39b2d2
test-revert: add case for nothing changed
Adrian Buehlmann <adrian@cadifra.com>
parents:
14726
diff
changeset
|
11 $ hg revert |
cae09a39b2d2
test-revert: add case for nothing changed
Adrian Buehlmann <adrian@cadifra.com>
parents:
14726
diff
changeset
|
12 abort: no files or directories specified |
14755
6ba51c81ff75
revert: improve hints on abort when reverting to parent without --all
Adrian Buehlmann <adrian@cadifra.com>
parents:
14745
diff
changeset
|
13 (use --all to revert all files) |
14745
cae09a39b2d2
test-revert: add case for nothing changed
Adrian Buehlmann <adrian@cadifra.com>
parents:
14726
diff
changeset
|
14 [255] |
14767
aab323df2c44
test-revert: add revert --all case when nothing changed
Adrian Buehlmann <adrian@cadifra.com>
parents:
14755
diff
changeset
|
15 $ hg revert --all |
14745
cae09a39b2d2
test-revert: add case for nothing changed
Adrian Buehlmann <adrian@cadifra.com>
parents:
14726
diff
changeset
|
16 |
22099
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
17 Introduce some changes and revert them |
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
18 -------------------------------------- |
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
19 |
12106
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
20 $ echo 123 > b |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
21 |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
22 $ hg status |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
23 ? b |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
24 $ echo 12 > c |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
25 |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
26 $ hg status |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
27 M c |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
28 ? b |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
29 $ hg add b |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
30 |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
31 $ hg status |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
32 M c |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
33 A b |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
34 $ hg rm a |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
35 |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
36 $ hg status |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
37 M c |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
38 A b |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
39 R a |
22099
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
40 |
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
41 revert removal of a file |
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
42 |
12106
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
43 $ hg revert a |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
44 $ hg status |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
45 M c |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
46 A b |
22099
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
47 |
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
48 revert addition of a file |
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
49 |
12106
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
50 $ hg revert b |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
51 $ hg status |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
52 M c |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
53 ? b |
22099
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
54 |
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
55 revert modification of a file (--no-backup) |
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
56 |
12106
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
57 $ hg revert --no-backup c |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
58 $ hg status |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
59 ? b |
22099
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
60 |
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
61 revert deletion (! status) of a added file |
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
62 ------------------------------------------ |
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
63 |
12106
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
64 $ hg add b |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
65 |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
66 $ hg status b |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
67 A b |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
68 $ rm b |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
69 $ hg status b |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
70 ! b |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
71 $ hg revert -v b |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
72 forgetting b |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
73 $ hg status b |
15521
117f9190c1ba
tests: hide 'No such file or directory' messages
Mads Kiilerich <mads@kiilerich.com>
parents:
15447
diff
changeset
|
74 b: * (glob) |
12106
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
75 |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
76 $ ls |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
77 a |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
78 c |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
79 e |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
80 |
22099
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
81 Test creation of backup (.orig) files |
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
82 ------------------------------------- |
12106
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
83 |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
84 $ echo z > e |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
85 $ hg revert --all -v |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
86 saving current version of e as e.orig |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
87 reverting e |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
88 |
22099
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
89 revert on clean file (no change) |
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
90 -------------------------------- |
12106
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
91 |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
92 $ hg revert a |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
93 no changes needed to a |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
94 |
22099
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
95 revert on an untracked file |
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
96 --------------------------- |
12106
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
97 |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
98 $ echo q > q |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
99 $ hg revert q |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
100 file not managed: q |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
101 $ rm q |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
102 |
22099
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
103 revert on file that does not exists |
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
104 ----------------------------------- |
12106
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
105 |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
106 $ hg revert notfound |
12156
4c94b6d0fb1c
tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents:
12106
diff
changeset
|
107 notfound: no such file in rev 334a9e57682c |
12106
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
108 $ touch d |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
109 $ hg add d |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
110 $ hg rm a |
12156
4c94b6d0fb1c
tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents:
12106
diff
changeset
|
111 $ hg commit -m "second" |
12106
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
112 $ echo z > z |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
113 $ hg add z |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
114 $ hg st |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
115 A z |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
116 ? e.orig |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
117 |
22099
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
118 revert to another revision (--rev) |
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
119 ---------------------------------- |
12106
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
120 |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
121 $ hg revert --all -r0 |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
122 adding a |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
123 removing d |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
124 forgetting z |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
125 |
22099
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
126 revert explicitly to parent (--rev) |
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
127 ----------------------------------- |
12106
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
128 |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
129 $ hg revert --all -rtip |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
130 forgetting a |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
131 undeleting d |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
132 $ rm a *.orig |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
133 |
22099
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
134 revert to another revision (--rev) and exact match |
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
135 -------------------------------------------------- |
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
136 |
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
137 exact match are more silent |
1447
508a3f559553
revert added and removed files to their normal state before reverting
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
138 |
12106
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
139 $ hg revert -r0 a |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
140 $ hg st a |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
141 A a |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
142 $ hg rm d |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
143 $ hg st d |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
144 R d |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
145 |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
146 should silently keep d removed |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
147 |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
148 $ hg revert -r0 d |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
149 $ hg st d |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
150 R d |
2157
1e82f2337498
make test-revert check executable bit.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2043
diff
changeset
|
151 |
12106
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
152 $ hg update -C |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
153 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
22099
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
154 |
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
155 revert of exec bit |
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
156 ------------------ |
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
157 |
16886
8c1cf3e3fe42
test-revert: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
15521
diff
changeset
|
158 #if execbit |
12106
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
159 $ chmod +x c |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
160 $ hg revert --all |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
161 reverting c |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
162 |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
163 $ test -x c || echo non-executable |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
164 non-executable |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
165 |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
166 $ chmod +x c |
12156
4c94b6d0fb1c
tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents:
12106
diff
changeset
|
167 $ hg commit -m exe |
2157
1e82f2337498
make test-revert check executable bit.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2043
diff
changeset
|
168 |
12106
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
169 $ chmod -x c |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
170 $ hg revert --all |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
171 reverting c |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
172 |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
173 $ test -x c && echo executable |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
174 executable |
16886
8c1cf3e3fe42
test-revert: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
15521
diff
changeset
|
175 #endif |
12106
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
176 |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
177 $ cd .. |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
178 |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
179 |
12399
4fee1fd3de9a
tests: added a short description to issue numbers
Martin Geisler <mg@aragost.com>
parents:
12316
diff
changeset
|
180 Issue241: update and revert produces inconsistent repositories |
22099
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
181 -------------------------------------------------------------- |
2982
890e285c52a1
revert: require --all to revert all files.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2272
diff
changeset
|
182 |
12106
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
183 $ hg init a |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
184 $ cd a |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
185 $ echo a >> a |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
186 $ hg commit -A -d '1 0' -m a |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
187 adding a |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
188 $ echo a >> a |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
189 $ hg commit -d '2 0' -m a |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
190 $ hg update 0 |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
191 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
192 $ mkdir b |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
193 $ echo b > b/b |
2272
e9a0ed9ed4d9
revert: fix corner case found by faheem mitha.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2157
diff
changeset
|
194 |
22099
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
195 call `hg revert` with no file specified |
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
196 --------------------------------------- |
12106
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
197 |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
198 $ hg revert -rtip |
14542
afe0d4c24866
revert: drop requirement to use -r to revert with two parents
Matt Mackall <mpm@selenic.com>
parents:
12399
diff
changeset
|
199 abort: no files or directories specified |
14726
e0039716f3ea
revert: mention update in hint of abort when reverting to non-parent
Adrian Buehlmann <adrian@cadifra.com>
parents:
14713
diff
changeset
|
200 (use --all to revert all files, or 'hg update 1' to update) |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
201 [255] |
12106
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
202 |
22099
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
203 call `hg revert` with --all |
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
204 --------------------------- |
12106
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
205 |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
206 $ hg revert --all -rtip |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
207 reverting a |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
208 |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
209 |
12399
4fee1fd3de9a
tests: added a short description to issue numbers
Martin Geisler <mg@aragost.com>
parents:
12316
diff
changeset
|
210 Issue332: confusing message when reverting directory |
22099
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
211 ---------------------------------------------------- |
2982
890e285c52a1
revert: require --all to revert all files.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2272
diff
changeset
|
212 |
12156
4c94b6d0fb1c
tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents:
12106
diff
changeset
|
213 $ hg ci -A -m b |
12106
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
214 adding b/b |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
215 created new head |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
216 $ echo foobar > b/b |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
217 $ mkdir newdir |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
218 $ echo foo > newdir/newfile |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
219 $ hg add newdir/newfile |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
220 $ hg revert b newdir |
15447
9910f60a37ee
tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents:
15442
diff
changeset
|
221 reverting b/b (glob) |
9910f60a37ee
tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents:
15442
diff
changeset
|
222 forgetting newdir/newfile (glob) |
12106
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
223 $ echo foobar > b/b |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
224 $ hg revert . |
15447
9910f60a37ee
tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents:
15442
diff
changeset
|
225 reverting b/b (glob) |
12106
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
226 |
5230
bfd73b567b3d
When reverting a file which was renamed, also revert the old name
Brendan Cully <brendan@kublai.com>
parents:
4237
diff
changeset
|
227 |
12106
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
228 reverting a rename target should revert the source |
22099
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
229 -------------------------------------------------- |
12106
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
230 |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
231 $ hg mv a newa |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
232 $ hg revert newa |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
233 $ hg st a newa |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
234 ? newa |
5230
bfd73b567b3d
When reverting a file which was renamed, also revert the old name
Brendan Cully <brendan@kublai.com>
parents:
4237
diff
changeset
|
235 |
12106
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
236 $ cd .. |
6031
7383384793fb
revert: don't assume ignored files will be returned in the unknown list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5230
diff
changeset
|
237 |
12106
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
238 $ hg init ignored |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
239 $ cd ignored |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
240 $ echo '^ignored$' > .hgignore |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
241 $ echo '^ignoreddir$' >> .hgignore |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
242 $ echo '^removed$' >> .hgignore |
6031
7383384793fb
revert: don't assume ignored files will be returned in the unknown list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5230
diff
changeset
|
243 |
12106
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
244 $ mkdir ignoreddir |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
245 $ touch ignoreddir/file |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
246 $ touch ignoreddir/removed |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
247 $ touch ignored |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
248 $ touch removed |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
249 |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
250 4 ignored files (we will add/commit everything) |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
251 |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
252 $ hg st -A -X .hgignore |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
253 I ignored |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
254 I ignoreddir/file |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
255 I ignoreddir/removed |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
256 I removed |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
257 $ hg ci -qAm 'add files' ignored ignoreddir/file ignoreddir/removed removed |
6031
7383384793fb
revert: don't assume ignored files will be returned in the unknown list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5230
diff
changeset
|
258 |
12106
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
259 $ echo >> ignored |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
260 $ echo >> ignoreddir/file |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
261 $ hg rm removed ignoreddir/removed |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
262 |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
263 should revert ignored* and undelete *removed |
22099
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
264 -------------------------------------------- |
6031
7383384793fb
revert: don't assume ignored files will be returned in the unknown list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5230
diff
changeset
|
265 |
12106
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
266 $ hg revert -a --no-backup |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
267 reverting ignored |
15447
9910f60a37ee
tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents:
15442
diff
changeset
|
268 reverting ignoreddir/file (glob) |
9910f60a37ee
tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents:
15442
diff
changeset
|
269 undeleting ignoreddir/removed (glob) |
12106
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
270 undeleting removed |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
271 $ hg st -mardi |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
272 |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
273 $ hg up -qC |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
274 $ echo >> ignored |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
275 $ hg rm removed |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
276 |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
277 should silently revert the named files |
22099
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
278 -------------------------------------- |
12106
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
279 |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
280 $ hg revert --no-backup ignored removed |
969176bec217
tests: unify test-revert
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6110
diff
changeset
|
281 $ hg st -mardi |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
16886
diff
changeset
|
282 |
22099
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
283 Reverting copy (issue3920) |
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
284 -------------------------- |
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
285 |
19129
bd19587a3347
revert: ensure that copies and renames are honored (issue3920)
Bryan O'Sullivan <bryano@fb.com>
parents:
16913
diff
changeset
|
286 someone set up us the copies |
bd19587a3347
revert: ensure that copies and renames are honored (issue3920)
Bryan O'Sullivan <bryano@fb.com>
parents:
16913
diff
changeset
|
287 |
bd19587a3347
revert: ensure that copies and renames are honored (issue3920)
Bryan O'Sullivan <bryano@fb.com>
parents:
16913
diff
changeset
|
288 $ rm .hgignore |
bd19587a3347
revert: ensure that copies and renames are honored (issue3920)
Bryan O'Sullivan <bryano@fb.com>
parents:
16913
diff
changeset
|
289 $ hg update -C |
bd19587a3347
revert: ensure that copies and renames are honored (issue3920)
Bryan O'Sullivan <bryano@fb.com>
parents:
16913
diff
changeset
|
290 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
bd19587a3347
revert: ensure that copies and renames are honored (issue3920)
Bryan O'Sullivan <bryano@fb.com>
parents:
16913
diff
changeset
|
291 $ hg mv ignored allyour |
bd19587a3347
revert: ensure that copies and renames are honored (issue3920)
Bryan O'Sullivan <bryano@fb.com>
parents:
16913
diff
changeset
|
292 $ hg copy removed base |
bd19587a3347
revert: ensure that copies and renames are honored (issue3920)
Bryan O'Sullivan <bryano@fb.com>
parents:
16913
diff
changeset
|
293 $ hg commit -m rename |
bd19587a3347
revert: ensure that copies and renames are honored (issue3920)
Bryan O'Sullivan <bryano@fb.com>
parents:
16913
diff
changeset
|
294 |
bd19587a3347
revert: ensure that copies and renames are honored (issue3920)
Bryan O'Sullivan <bryano@fb.com>
parents:
16913
diff
changeset
|
295 copies and renames, you have no chance to survive make your time (issue3920) |
bd19587a3347
revert: ensure that copies and renames are honored (issue3920)
Bryan O'Sullivan <bryano@fb.com>
parents:
16913
diff
changeset
|
296 |
bd19587a3347
revert: ensure that copies and renames are honored (issue3920)
Bryan O'Sullivan <bryano@fb.com>
parents:
16913
diff
changeset
|
297 $ hg update '.^' |
bd19587a3347
revert: ensure that copies and renames are honored (issue3920)
Bryan O'Sullivan <bryano@fb.com>
parents:
16913
diff
changeset
|
298 1 files updated, 0 files merged, 2 files removed, 0 files unresolved |
bd19587a3347
revert: ensure that copies and renames are honored (issue3920)
Bryan O'Sullivan <bryano@fb.com>
parents:
16913
diff
changeset
|
299 $ hg revert -rtip -a |
bd19587a3347
revert: ensure that copies and renames are honored (issue3920)
Bryan O'Sullivan <bryano@fb.com>
parents:
16913
diff
changeset
|
300 adding allyour |
bd19587a3347
revert: ensure that copies and renames are honored (issue3920)
Bryan O'Sullivan <bryano@fb.com>
parents:
16913
diff
changeset
|
301 adding base |
bd19587a3347
revert: ensure that copies and renames are honored (issue3920)
Bryan O'Sullivan <bryano@fb.com>
parents:
16913
diff
changeset
|
302 removing ignored |
bd19587a3347
revert: ensure that copies and renames are honored (issue3920)
Bryan O'Sullivan <bryano@fb.com>
parents:
16913
diff
changeset
|
303 $ hg status -C |
bd19587a3347
revert: ensure that copies and renames are honored (issue3920)
Bryan O'Sullivan <bryano@fb.com>
parents:
16913
diff
changeset
|
304 A allyour |
bd19587a3347
revert: ensure that copies and renames are honored (issue3920)
Bryan O'Sullivan <bryano@fb.com>
parents:
16913
diff
changeset
|
305 ignored |
bd19587a3347
revert: ensure that copies and renames are honored (issue3920)
Bryan O'Sullivan <bryano@fb.com>
parents:
16913
diff
changeset
|
306 A base |
bd19587a3347
revert: ensure that copies and renames are honored (issue3920)
Bryan O'Sullivan <bryano@fb.com>
parents:
16913
diff
changeset
|
307 removed |
bd19587a3347
revert: ensure that copies and renames are honored (issue3920)
Bryan O'Sullivan <bryano@fb.com>
parents:
16913
diff
changeset
|
308 R ignored |
bd19587a3347
revert: ensure that copies and renames are honored (issue3920)
Bryan O'Sullivan <bryano@fb.com>
parents:
16913
diff
changeset
|
309 |
21573
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
310 Test revert of a file added by one side of the merge |
22099
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
311 ==================================================== |
21573
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
312 |
22099
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
313 remove any pending change |
21573
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
314 |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
315 $ hg revert --all |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
316 forgetting allyour |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
317 forgetting base |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
318 undeleting ignored |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
319 $ hg purge --all --config extensions.purge= |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
320 |
22099
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
321 Adds a new commit |
21573
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
322 |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
323 $ echo foo > newadd |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
324 $ hg add newadd |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
325 $ hg commit -m 'other adds' |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
326 created new head |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
327 |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
328 |
22099
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
329 merge it with the other head |
21573
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
330 |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
331 $ hg merge # merge 1 into 2 |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
332 2 files updated, 0 files merged, 1 files removed, 0 files unresolved |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
333 (branch merge, don't forget to commit) |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
334 $ hg summary |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
335 parent: 2:b8ec310b2d4e tip |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
336 other adds |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
337 parent: 1:f6180deb8fbe |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
338 rename |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
339 branch: default |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
340 commit: 2 modified, 1 removed (merge) |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
341 update: (current) |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
342 |
22099
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
343 clarifies who added what |
21573
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
344 |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
345 $ hg status |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
346 M allyour |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
347 M base |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
348 R ignored |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
349 $ hg status --change 'p1()' |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
350 A newadd |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
351 $ hg status --change 'p2()' |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
352 A allyour |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
353 A base |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
354 R ignored |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
355 |
22099
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
356 revert file added by p1() to p1() state |
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
357 ----------------------------------------- |
21573
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
358 |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
359 $ hg revert -r 'p1()' 'glob:newad?' |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
360 $ hg status |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
361 M allyour |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
362 M base |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
363 R ignored |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
364 |
22099
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
365 revert file added by p1() to p2() state |
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
366 ------------------------------------------ |
21573
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
367 |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
368 $ hg revert -r 'p2()' 'glob:newad?' |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
369 removing newadd |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
370 $ hg status |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
371 M allyour |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
372 M base |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
373 R ignored |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
374 R newadd |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
375 |
22099
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
376 revert file added by p2() to p2() state |
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
377 ------------------------------------------ |
21573
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
378 |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
379 $ hg revert -r 'p2()' 'glob:allyou?' |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
380 $ hg status |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
381 M allyour |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
382 M base |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
383 R ignored |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
384 R newadd |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
385 |
22099
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
386 revert file added by p2() to p1() state |
9ed5e1053303
test-revert: improve comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21579
diff
changeset
|
387 ------------------------------------------ |
21573
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
388 |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
389 $ hg revert -r 'p1()' 'glob:allyou?' |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
390 removing allyour |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
391 $ hg status |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
392 M base |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
393 R allyour |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
394 R ignored |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
395 R newadd |
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
396 |
22124
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
397 Systematic behavior validation of most possible cases |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
398 ===================================================== |
21573
4af19d39706e
revert: add a test case to reverting "add" during merges
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
19129
diff
changeset
|
399 |
22124
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
400 This section tests most of the possible combinations of working directory |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
401 changes and inter-revision changes. The number of possible cases is significant |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
402 but they all have a slighly different handling. So this section commits to |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
403 generating and testing all of them to allow safe refactoring of the revert code. |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
404 |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
405 A python script is used to generate a file history for each combination of |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
406 changes between, on one side the working directory and its parent and on |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
407 the other side, changes between a revert target (--rev) and working directory |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
408 parent. The three states generated are: |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
409 |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
410 - a "base" revision |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
411 - a "parent" revision |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
412 - the working directory (based on "parent") |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
413 |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
414 The file generated have names of the form: |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
415 |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
416 <changeset-state>_<working-copy-state> |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
417 |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
418 Here, "changeset-state" conveys the state in "base" and "parent" (or the change |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
419 that happen between them), "working-copy-state" is self explanatory. |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
420 |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
421 All known states are not tested yet. See inline documentation for details. |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
422 Special cases from merge and rename are not tested by this section. |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
423 |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
424 There are also multiple cases where the current revert implementation is known to |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
425 slightly misbehave. |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
426 |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
427 Write the python script to disk |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
428 ------------------------------- |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
429 |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
430 $ cat << EOF > gen-revert-cases.py |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
431 > # generate proper file state to test revert behavior |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
432 > import sys |
22133
d732ff677b96
test-revert: add case where file is added between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22131
diff
changeset
|
433 > import os |
22124
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
434 > |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
435 > # content of the file in "base" and "parent" |
22133
d732ff677b96
test-revert: add case where file is added between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22131
diff
changeset
|
436 > # None means no file at all |
22124
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
437 > ctxcontent = { |
22135
37d2bd2c04f6
test-revert: add case where file is unchanged between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22133
diff
changeset
|
438 > # clean: no change from base to parent |
37d2bd2c04f6
test-revert: add case where file is unchanged between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22133
diff
changeset
|
439 > 'clean': ['base', 'base'], |
22124
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
440 > # modified: file content change from base to parent |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
441 > 'modified': ['base', 'parent'], |
22133
d732ff677b96
test-revert: add case where file is added between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22131
diff
changeset
|
442 > # added: file is missing from base and added in parent |
d732ff677b96
test-revert: add case where file is added between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22131
diff
changeset
|
443 > 'added': [None, 'parent'], |
22136
a29574cb8552
test-revert: add case where the file is removed between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22135
diff
changeset
|
444 > # removed: file exist in base but is removed from parent |
a29574cb8552
test-revert: add case where the file is removed between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22135
diff
changeset
|
445 > 'removed': ['base', None], |
22124
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
446 > } |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
447 > |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
448 > # content of file in working copy |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
449 > wccontent = { |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
450 > # clean: wc content is the same as parent |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
451 > 'clean': lambda cc: cc[1], |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
452 > } |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
453 > |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
454 > # build the combination of possible states |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
455 > combination = [] |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
456 > for ctxkey in ctxcontent: |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
457 > for wckey in wccontent: |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
458 > filename = "%s_%s" % (ctxkey, wckey) |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
459 > combination.append((filename, ctxkey, wckey)) |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
460 > |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
461 > # make sure we have stable output |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
462 > combination.sort() |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
463 > |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
464 > # retrieve the state we must generate |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
465 > target = sys.argv[1] |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
466 > |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
467 > # compute file content |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
468 > content = [] |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
469 > for filename, ctxkey, wckey in combination: |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
470 > cc = ctxcontent[ctxkey] |
22127
3163b8f8ff26
test-revert: display the list of all generated cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22126
diff
changeset
|
471 > if target == 'filelist': |
3163b8f8ff26
test-revert: display the list of all generated cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22126
diff
changeset
|
472 > print filename |
3163b8f8ff26
test-revert: display the list of all generated cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22126
diff
changeset
|
473 > elif target == 'base': |
22124
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
474 > content.append((filename, cc[0])) |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
475 > elif target == 'parent': |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
476 > content.append((filename, cc[1])) |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
477 > elif target == 'wc': |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
478 > content.append((filename, wccontent[wckey](cc))) |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
479 > else: |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
480 > print >> sys.stderr, "unknown target:", target |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
481 > sys.exit(1) |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
482 > |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
483 > # write actual content |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
484 > for filename, data in content: |
22133
d732ff677b96
test-revert: add case where file is added between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22131
diff
changeset
|
485 > if data is not None: |
d732ff677b96
test-revert: add case where file is added between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22131
diff
changeset
|
486 > f = open(filename, 'w') |
d732ff677b96
test-revert: add case where file is added between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22131
diff
changeset
|
487 > f.write(data + '\n') |
d732ff677b96
test-revert: add case where file is added between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22131
diff
changeset
|
488 > f.close() |
d732ff677b96
test-revert: add case where file is added between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22131
diff
changeset
|
489 > elif os.path.exists(filename): |
d732ff677b96
test-revert: add case where file is added between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22131
diff
changeset
|
490 > os.remove(filename) |
22124
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
491 > EOF |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
492 |
22127
3163b8f8ff26
test-revert: display the list of all generated cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22126
diff
changeset
|
493 check list of planned files |
3163b8f8ff26
test-revert: display the list of all generated cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22126
diff
changeset
|
494 |
3163b8f8ff26
test-revert: display the list of all generated cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22126
diff
changeset
|
495 $ python gen-revert-cases.py filelist |
22133
d732ff677b96
test-revert: add case where file is added between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22131
diff
changeset
|
496 added_clean |
22135
37d2bd2c04f6
test-revert: add case where file is unchanged between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22133
diff
changeset
|
497 clean_clean |
22127
3163b8f8ff26
test-revert: display the list of all generated cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22126
diff
changeset
|
498 modified_clean |
22136
a29574cb8552
test-revert: add case where the file is removed between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22135
diff
changeset
|
499 removed_clean |
22127
3163b8f8ff26
test-revert: display the list of all generated cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22126
diff
changeset
|
500 |
22126
651b2149f1e7
test-revert: also create a text version of the snapshot
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22124
diff
changeset
|
501 Script to make a simple text version of the content |
651b2149f1e7
test-revert: also create a text version of the snapshot
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22124
diff
changeset
|
502 --------------------------------------------------- |
651b2149f1e7
test-revert: also create a text version of the snapshot
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22124
diff
changeset
|
503 |
651b2149f1e7
test-revert: also create a text version of the snapshot
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22124
diff
changeset
|
504 $ cat << EOF >> dircontent.py |
651b2149f1e7
test-revert: also create a text version of the snapshot
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22124
diff
changeset
|
505 > # generate a simple text view of the directory for easy comparison |
651b2149f1e7
test-revert: also create a text version of the snapshot
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22124
diff
changeset
|
506 > import os |
651b2149f1e7
test-revert: also create a text version of the snapshot
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22124
diff
changeset
|
507 > files = os.listdir('.') |
651b2149f1e7
test-revert: also create a text version of the snapshot
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22124
diff
changeset
|
508 > files.sort() |
651b2149f1e7
test-revert: also create a text version of the snapshot
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22124
diff
changeset
|
509 > for filename in files: |
651b2149f1e7
test-revert: also create a text version of the snapshot
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22124
diff
changeset
|
510 > if os.path.isdir(filename): |
651b2149f1e7
test-revert: also create a text version of the snapshot
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22124
diff
changeset
|
511 > continue |
651b2149f1e7
test-revert: also create a text version of the snapshot
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22124
diff
changeset
|
512 > content = open(filename).read() |
651b2149f1e7
test-revert: also create a text version of the snapshot
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22124
diff
changeset
|
513 > print '%-6s %s' % (content.strip(), filename) |
651b2149f1e7
test-revert: also create a text version of the snapshot
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22124
diff
changeset
|
514 > EOF |
22124
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
515 |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
516 Generate appropriate repo state |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
517 ------------------------------- |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
518 |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
519 $ hg init revert-ref |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
520 $ cd revert-ref |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
521 |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
522 Generate base changeset |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
523 |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
524 $ python ../gen-revert-cases.py base |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
525 $ hg addremove --similarity 0 |
22135
37d2bd2c04f6
test-revert: add case where file is unchanged between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22133
diff
changeset
|
526 adding clean_clean |
22124
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
527 adding modified_clean |
22136
a29574cb8552
test-revert: add case where the file is removed between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22135
diff
changeset
|
528 adding removed_clean |
22124
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
529 $ hg status |
22135
37d2bd2c04f6
test-revert: add case where file is unchanged between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22133
diff
changeset
|
530 A clean_clean |
22124
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
531 A modified_clean |
22136
a29574cb8552
test-revert: add case where the file is removed between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22135
diff
changeset
|
532 A removed_clean |
22124
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
533 $ hg commit -m 'base' |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
534 |
22126
651b2149f1e7
test-revert: also create a text version of the snapshot
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22124
diff
changeset
|
535 (create a simple text version of the content) |
651b2149f1e7
test-revert: also create a text version of the snapshot
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22124
diff
changeset
|
536 |
651b2149f1e7
test-revert: also create a text version of the snapshot
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22124
diff
changeset
|
537 $ python ../dircontent.py > ../content-base.txt |
651b2149f1e7
test-revert: also create a text version of the snapshot
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22124
diff
changeset
|
538 $ cat ../content-base.txt |
22135
37d2bd2c04f6
test-revert: add case where file is unchanged between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22133
diff
changeset
|
539 base clean_clean |
22126
651b2149f1e7
test-revert: also create a text version of the snapshot
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22124
diff
changeset
|
540 base modified_clean |
22136
a29574cb8552
test-revert: add case where the file is removed between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22135
diff
changeset
|
541 base removed_clean |
22126
651b2149f1e7
test-revert: also create a text version of the snapshot
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22124
diff
changeset
|
542 |
22124
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
543 Create parent changeset |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
544 |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
545 $ python ../gen-revert-cases.py parent |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
546 $ hg addremove --similarity 0 |
22133
d732ff677b96
test-revert: add case where file is added between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22131
diff
changeset
|
547 adding added_clean |
22136
a29574cb8552
test-revert: add case where the file is removed between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22135
diff
changeset
|
548 removing removed_clean |
22124
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
549 $ hg status |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
550 M modified_clean |
22133
d732ff677b96
test-revert: add case where file is added between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22131
diff
changeset
|
551 A added_clean |
22136
a29574cb8552
test-revert: add case where the file is removed between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22135
diff
changeset
|
552 R removed_clean |
22124
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
553 $ hg commit -m 'parent' |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
554 |
22126
651b2149f1e7
test-revert: also create a text version of the snapshot
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22124
diff
changeset
|
555 (create a simple text version of the content) |
651b2149f1e7
test-revert: also create a text version of the snapshot
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22124
diff
changeset
|
556 |
651b2149f1e7
test-revert: also create a text version of the snapshot
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22124
diff
changeset
|
557 $ python ../dircontent.py > ../content-parent.txt |
651b2149f1e7
test-revert: also create a text version of the snapshot
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22124
diff
changeset
|
558 $ cat ../content-parent.txt |
22133
d732ff677b96
test-revert: add case where file is added between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22131
diff
changeset
|
559 parent added_clean |
22135
37d2bd2c04f6
test-revert: add case where file is unchanged between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22133
diff
changeset
|
560 base clean_clean |
22126
651b2149f1e7
test-revert: also create a text version of the snapshot
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22124
diff
changeset
|
561 parent modified_clean |
651b2149f1e7
test-revert: also create a text version of the snapshot
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22124
diff
changeset
|
562 |
22124
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
563 Setup working directory |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
564 |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
565 $ python ../gen-revert-cases.py wc | cat |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
566 $ hg addremove --similarity 0 |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
567 $ hg status |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
568 |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
569 $ hg status --rev 'desc("base")' |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
570 M modified_clean |
22133
d732ff677b96
test-revert: add case where file is added between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22131
diff
changeset
|
571 A added_clean |
22136
a29574cb8552
test-revert: add case where the file is removed between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22135
diff
changeset
|
572 R removed_clean |
22124
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
573 |
22126
651b2149f1e7
test-revert: also create a text version of the snapshot
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22124
diff
changeset
|
574 (create a simple text version of the content) |
651b2149f1e7
test-revert: also create a text version of the snapshot
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22124
diff
changeset
|
575 |
651b2149f1e7
test-revert: also create a text version of the snapshot
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22124
diff
changeset
|
576 $ python ../dircontent.py > ../content-wc.txt |
651b2149f1e7
test-revert: also create a text version of the snapshot
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22124
diff
changeset
|
577 $ cat ../content-wc.txt |
22133
d732ff677b96
test-revert: add case where file is added between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22131
diff
changeset
|
578 parent added_clean |
22135
37d2bd2c04f6
test-revert: add case where file is unchanged between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22133
diff
changeset
|
579 base clean_clean |
22126
651b2149f1e7
test-revert: also create a text version of the snapshot
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22124
diff
changeset
|
580 parent modified_clean |
651b2149f1e7
test-revert: also create a text version of the snapshot
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22124
diff
changeset
|
581 |
22124
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
582 $ cd .. |
e51784473fc0
test-revert: prepare methodical testing of revert cases
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22123
diff
changeset
|
583 |
22128
db23fb4e210d
test-revert: add methodical revert to parent for working directory
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22127
diff
changeset
|
584 Test revert --all to parent content |
db23fb4e210d
test-revert: add methodical revert to parent for working directory
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22127
diff
changeset
|
585 ----------------------------------- |
db23fb4e210d
test-revert: add methodical revert to parent for working directory
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22127
diff
changeset
|
586 |
db23fb4e210d
test-revert: add methodical revert to parent for working directory
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22127
diff
changeset
|
587 (setup from reference repo) |
db23fb4e210d
test-revert: add methodical revert to parent for working directory
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22127
diff
changeset
|
588 |
db23fb4e210d
test-revert: add methodical revert to parent for working directory
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22127
diff
changeset
|
589 $ cp -r revert-ref revert-parent-all |
db23fb4e210d
test-revert: add methodical revert to parent for working directory
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22127
diff
changeset
|
590 $ cd revert-parent-all |
db23fb4e210d
test-revert: add methodical revert to parent for working directory
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22127
diff
changeset
|
591 |
db23fb4e210d
test-revert: add methodical revert to parent for working directory
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22127
diff
changeset
|
592 check revert output |
db23fb4e210d
test-revert: add methodical revert to parent for working directory
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22127
diff
changeset
|
593 |
db23fb4e210d
test-revert: add methodical revert to parent for working directory
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22127
diff
changeset
|
594 $ hg revert --all |
db23fb4e210d
test-revert: add methodical revert to parent for working directory
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22127
diff
changeset
|
595 |
db23fb4e210d
test-revert: add methodical revert to parent for working directory
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22127
diff
changeset
|
596 Compare resulting directory with revert target. |
db23fb4e210d
test-revert: add methodical revert to parent for working directory
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22127
diff
changeset
|
597 |
db23fb4e210d
test-revert: add methodical revert to parent for working directory
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22127
diff
changeset
|
598 The diff is filtered to include change only. The only difference should be |
db23fb4e210d
test-revert: add methodical revert to parent for working directory
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22127
diff
changeset
|
599 additional `.orig` backup file when applicable. |
db23fb4e210d
test-revert: add methodical revert to parent for working directory
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22127
diff
changeset
|
600 |
db23fb4e210d
test-revert: add methodical revert to parent for working directory
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22127
diff
changeset
|
601 $ python ../dircontent.py > ../content-parent-all.txt |
db23fb4e210d
test-revert: add methodical revert to parent for working directory
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22127
diff
changeset
|
602 $ cd .. |
db23fb4e210d
test-revert: add methodical revert to parent for working directory
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22127
diff
changeset
|
603 $ diff -U 0 -- content-parent.txt content-parent-all.txt | grep _ |
db23fb4e210d
test-revert: add methodical revert to parent for working directory
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22127
diff
changeset
|
604 [1] |
22129
f0147ff1109f
test-revert: add methodical revert to "base"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22128
diff
changeset
|
605 |
f0147ff1109f
test-revert: add methodical revert to "base"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22128
diff
changeset
|
606 Test revert --all to "base" content |
f0147ff1109f
test-revert: add methodical revert to "base"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22128
diff
changeset
|
607 ----------------------------------- |
f0147ff1109f
test-revert: add methodical revert to "base"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22128
diff
changeset
|
608 |
f0147ff1109f
test-revert: add methodical revert to "base"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22128
diff
changeset
|
609 (setup from reference repo) |
f0147ff1109f
test-revert: add methodical revert to "base"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22128
diff
changeset
|
610 |
f0147ff1109f
test-revert: add methodical revert to "base"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22128
diff
changeset
|
611 $ cp -r revert-ref revert-base-all |
f0147ff1109f
test-revert: add methodical revert to "base"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22128
diff
changeset
|
612 $ cd revert-base-all |
f0147ff1109f
test-revert: add methodical revert to "base"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22128
diff
changeset
|
613 |
f0147ff1109f
test-revert: add methodical revert to "base"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22128
diff
changeset
|
614 check revert output |
f0147ff1109f
test-revert: add methodical revert to "base"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22128
diff
changeset
|
615 |
f0147ff1109f
test-revert: add methodical revert to "base"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22128
diff
changeset
|
616 $ hg revert --all --rev 'desc(base)' |
22133
d732ff677b96
test-revert: add case where file is added between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22131
diff
changeset
|
617 removing added_clean |
22129
f0147ff1109f
test-revert: add methodical revert to "base"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22128
diff
changeset
|
618 reverting modified_clean |
22136
a29574cb8552
test-revert: add case where the file is removed between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22135
diff
changeset
|
619 adding removed_clean |
22129
f0147ff1109f
test-revert: add methodical revert to "base"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22128
diff
changeset
|
620 |
f0147ff1109f
test-revert: add methodical revert to "base"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22128
diff
changeset
|
621 Compare resulting directory with revert target. |
f0147ff1109f
test-revert: add methodical revert to "base"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22128
diff
changeset
|
622 |
f0147ff1109f
test-revert: add methodical revert to "base"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22128
diff
changeset
|
623 The diff is filtered to include change only. The only difference should be |
f0147ff1109f
test-revert: add methodical revert to "base"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22128
diff
changeset
|
624 additional `.orig` backup file when applicable. |
f0147ff1109f
test-revert: add methodical revert to "base"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22128
diff
changeset
|
625 |
f0147ff1109f
test-revert: add methodical revert to "base"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22128
diff
changeset
|
626 $ python ../dircontent.py > ../content-base-all.txt |
f0147ff1109f
test-revert: add methodical revert to "base"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22128
diff
changeset
|
627 $ cd .. |
f0147ff1109f
test-revert: add methodical revert to "base"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22128
diff
changeset
|
628 $ diff -U 0 -- content-base.txt content-base-all.txt | grep _ |
f0147ff1109f
test-revert: add methodical revert to "base"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22128
diff
changeset
|
629 [1] |
22130
78abb9a42830
test-revert: add methodical revert with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22129
diff
changeset
|
630 |
78abb9a42830
test-revert: add methodical revert with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22129
diff
changeset
|
631 Test revert to parent content with explicit file name |
78abb9a42830
test-revert: add methodical revert with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22129
diff
changeset
|
632 ----------------------------------------------------- |
78abb9a42830
test-revert: add methodical revert with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22129
diff
changeset
|
633 |
78abb9a42830
test-revert: add methodical revert with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22129
diff
changeset
|
634 (setup from reference repo) |
78abb9a42830
test-revert: add methodical revert with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22129
diff
changeset
|
635 |
78abb9a42830
test-revert: add methodical revert with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22129
diff
changeset
|
636 $ cp -r revert-ref revert-parent-explicit |
78abb9a42830
test-revert: add methodical revert with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22129
diff
changeset
|
637 $ cd revert-parent-explicit |
78abb9a42830
test-revert: add methodical revert with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22129
diff
changeset
|
638 |
78abb9a42830
test-revert: add methodical revert with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22129
diff
changeset
|
639 revert all files individually and check the output |
78abb9a42830
test-revert: add methodical revert with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22129
diff
changeset
|
640 (output is expected to be different than in the --all case) |
78abb9a42830
test-revert: add methodical revert with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22129
diff
changeset
|
641 |
78abb9a42830
test-revert: add methodical revert with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22129
diff
changeset
|
642 $ for file in `python ../gen-revert-cases.py filelist`; do |
78abb9a42830
test-revert: add methodical revert with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22129
diff
changeset
|
643 > echo '### revert for:' $file; |
78abb9a42830
test-revert: add methodical revert with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22129
diff
changeset
|
644 > hg revert $file; |
78abb9a42830
test-revert: add methodical revert with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22129
diff
changeset
|
645 > echo |
78abb9a42830
test-revert: add methodical revert with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22129
diff
changeset
|
646 > done |
22133
d732ff677b96
test-revert: add case where file is added between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22131
diff
changeset
|
647 ### revert for: added_clean |
d732ff677b96
test-revert: add case where file is added between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22131
diff
changeset
|
648 no changes needed to added_clean |
d732ff677b96
test-revert: add case where file is added between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22131
diff
changeset
|
649 |
22135
37d2bd2c04f6
test-revert: add case where file is unchanged between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22133
diff
changeset
|
650 ### revert for: clean_clean |
37d2bd2c04f6
test-revert: add case where file is unchanged between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22133
diff
changeset
|
651 no changes needed to clean_clean |
37d2bd2c04f6
test-revert: add case where file is unchanged between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22133
diff
changeset
|
652 |
22130
78abb9a42830
test-revert: add methodical revert with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22129
diff
changeset
|
653 ### revert for: modified_clean |
78abb9a42830
test-revert: add methodical revert with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22129
diff
changeset
|
654 no changes needed to modified_clean |
78abb9a42830
test-revert: add methodical revert with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22129
diff
changeset
|
655 |
22136
a29574cb8552
test-revert: add case where the file is removed between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22135
diff
changeset
|
656 ### revert for: removed_clean |
a29574cb8552
test-revert: add case where the file is removed between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22135
diff
changeset
|
657 removed_clean: no such file in rev * (glob) |
a29574cb8552
test-revert: add case where the file is removed between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22135
diff
changeset
|
658 |
22130
78abb9a42830
test-revert: add methodical revert with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22129
diff
changeset
|
659 |
78abb9a42830
test-revert: add methodical revert with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22129
diff
changeset
|
660 check resulting directory againt the --all run |
78abb9a42830
test-revert: add methodical revert with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22129
diff
changeset
|
661 (There should be no difference) |
78abb9a42830
test-revert: add methodical revert with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22129
diff
changeset
|
662 |
78abb9a42830
test-revert: add methodical revert with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22129
diff
changeset
|
663 $ python ../dircontent.py > ../content-parent-explicit.txt |
78abb9a42830
test-revert: add methodical revert with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22129
diff
changeset
|
664 $ cd .. |
78abb9a42830
test-revert: add methodical revert with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22129
diff
changeset
|
665 $ diff -U 0 -- content-parent-all.txt content-parent-explicit.txt | grep _ |
78abb9a42830
test-revert: add methodical revert with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22129
diff
changeset
|
666 [1] |
22131
8768342af0cd
test-revert: add methodical revert to "base" with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22130
diff
changeset
|
667 |
8768342af0cd
test-revert: add methodical revert to "base" with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22130
diff
changeset
|
668 Test revert to "base" content with explicit file name |
8768342af0cd
test-revert: add methodical revert to "base" with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22130
diff
changeset
|
669 ----------------------------------------------------- |
8768342af0cd
test-revert: add methodical revert to "base" with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22130
diff
changeset
|
670 |
8768342af0cd
test-revert: add methodical revert to "base" with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22130
diff
changeset
|
671 (setup from reference repo) |
8768342af0cd
test-revert: add methodical revert to "base" with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22130
diff
changeset
|
672 |
8768342af0cd
test-revert: add methodical revert to "base" with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22130
diff
changeset
|
673 $ cp -r revert-ref revert-base-explicit |
8768342af0cd
test-revert: add methodical revert to "base" with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22130
diff
changeset
|
674 $ cd revert-base-explicit |
8768342af0cd
test-revert: add methodical revert to "base" with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22130
diff
changeset
|
675 |
8768342af0cd
test-revert: add methodical revert to "base" with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22130
diff
changeset
|
676 revert all files individually and check the output |
8768342af0cd
test-revert: add methodical revert to "base" with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22130
diff
changeset
|
677 (output is expected to be different than in the --all case) |
8768342af0cd
test-revert: add methodical revert to "base" with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22130
diff
changeset
|
678 |
22135
37d2bd2c04f6
test-revert: add case where file is unchanged between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22133
diff
changeset
|
679 Misbehavior: |
37d2bd2c04f6
test-revert: add case where file is unchanged between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22133
diff
changeset
|
680 |
37d2bd2c04f6
test-revert: add case where file is unchanged between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22133
diff
changeset
|
681 - fails to report no change to revert for |
37d2bd2c04f6
test-revert: add case where file is unchanged between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22133
diff
changeset
|
682 | |
37d2bd2c04f6
test-revert: add case where file is unchanged between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22133
diff
changeset
|
683 | - clean_clean |
37d2bd2c04f6
test-revert: add case where file is unchanged between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22133
diff
changeset
|
684 |
22131
8768342af0cd
test-revert: add methodical revert to "base" with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22130
diff
changeset
|
685 $ for file in `python ../gen-revert-cases.py filelist`; do |
8768342af0cd
test-revert: add methodical revert to "base" with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22130
diff
changeset
|
686 > echo '### revert for:' $file; |
8768342af0cd
test-revert: add methodical revert to "base" with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22130
diff
changeset
|
687 > hg revert $file --rev 'desc(base)'; |
8768342af0cd
test-revert: add methodical revert to "base" with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22130
diff
changeset
|
688 > echo |
8768342af0cd
test-revert: add methodical revert to "base" with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22130
diff
changeset
|
689 > done |
22133
d732ff677b96
test-revert: add case where file is added between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22131
diff
changeset
|
690 ### revert for: added_clean |
d732ff677b96
test-revert: add case where file is added between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22131
diff
changeset
|
691 |
22135
37d2bd2c04f6
test-revert: add case where file is unchanged between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22133
diff
changeset
|
692 ### revert for: clean_clean |
37d2bd2c04f6
test-revert: add case where file is unchanged between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22133
diff
changeset
|
693 |
22131
8768342af0cd
test-revert: add methodical revert to "base" with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22130
diff
changeset
|
694 ### revert for: modified_clean |
8768342af0cd
test-revert: add methodical revert to "base" with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22130
diff
changeset
|
695 |
22136
a29574cb8552
test-revert: add case where the file is removed between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22135
diff
changeset
|
696 ### revert for: removed_clean |
a29574cb8552
test-revert: add case where the file is removed between "base" and "parent"
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22135
diff
changeset
|
697 |
22131
8768342af0cd
test-revert: add methodical revert to "base" with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22130
diff
changeset
|
698 |
8768342af0cd
test-revert: add methodical revert to "base" with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22130
diff
changeset
|
699 check resulting directory againt the --all run |
8768342af0cd
test-revert: add methodical revert to "base" with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22130
diff
changeset
|
700 (There should be no difference) |
8768342af0cd
test-revert: add methodical revert to "base" with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22130
diff
changeset
|
701 |
8768342af0cd
test-revert: add methodical revert to "base" with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22130
diff
changeset
|
702 $ python ../dircontent.py > ../content-base-explicit.txt |
8768342af0cd
test-revert: add methodical revert to "base" with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22130
diff
changeset
|
703 $ cd .. |
8768342af0cd
test-revert: add methodical revert to "base" with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22130
diff
changeset
|
704 $ diff -U 0 -- content-base-all.txt content-base-explicit.txt | grep _ |
8768342af0cd
test-revert: add methodical revert to "base" with explicit file path
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22130
diff
changeset
|
705 [1] |