##// END OF EJS Templates
test-convert-cvs-detectmerge: add sleep so cvs notices changes
Mads Kiilerich -
r12585:385fd0ee default
parent child Browse files
Show More
@@ -1,231 +1,234
1 1 Test config convert.cvsps.mergefrom config setting.
2 2 (Should test similar mergeto feature, but I don't understand it yet.)
3 3 Requires builtin cvsps.
4 4
5 5 $ "$TESTDIR/hghave" cvs || exit 80
6 6 $ CVSROOT=`pwd`/cvsrepo
7 7 $ export CVSROOT
8 8
9 9 $ cvscall()
10 10 > {
11 11 > cvs -f "$@"
12 12 > }
13 13
14 14 output of 'cvs ci' varies unpredictably, so just discard it
15 15 XXX copied from test-convert-cvs-synthetic
16 16
17 17 $ cvsci()
18 18 > {
19 19 > cvs -f ci "$@" > /dev/null
20 20 > }
21 21
22 22 XXX copied from test-convert-cvs-synthetic
23 23
24 24 $ echo "[extensions]" >> $HGRCPATH
25 25 $ echo "convert = " >> $HGRCPATH
26 26 $ echo "graphlog = " >> $HGRCPATH
27 27 $ echo "[convert]" >> $HGRCPATH
28 28 $ echo "cvsps.cache=0" >> $HGRCPATH
29 29 $ echo "cvsps.mergefrom=\[MERGE from (\S+)\]" >> $HGRCPATH
30 30
31 31 create cvs repository with one project
32 32
33 33 $ mkdir cvsrepo
34 34 $ cvscall -q -d "$CVSROOT" init
35 35 $ mkdir cvsrepo/proj
36 36
37 37 populate cvs repository
38 38
39 39 $ cvscall -Q co proj
40 40 $ cd proj
41 41 $ touch file1
42 42 $ cvscall -Q add file1
43 43 $ cvsci -m"add file1 on trunk"
44 44 cvs commit: Examining .
45 45
46 46 create two release branches
47 47
48 48 $ cvscall -q tag -b v1_0
49 49 T file1
50 50 $ cvscall -q tag -b v1_1
51 51 T file1
52 52
53 53 modify file1 on branch v1_0
54 54
55 55 $ cvscall -Q update -rv1_0
56 $ sleep 1
56 57 $ echo "change" >> file1
57 58 $ cvsci -m"add text"
58 59 cvs commit: Examining .
59 60
60 61 make unrelated change on v1_1
61 62
62 63 $ cvscall -Q update -rv1_1
63 64 $ touch unrelated
64 65 $ cvscall -Q add unrelated
65 66 $ cvsci -m"unrelated change"
66 67 cvs commit: Examining .
67 68
68 69 merge file1 to v1_1
69 70
70 71 $ cvscall -Q update -jv1_0
71 72 RCS file: */cvsrepo/proj/file1,v (glob)
72 73 retrieving revision 1.1
73 74 retrieving revision 1.1.2.1
74 75 Merging differences between 1.1 and 1.1.2.1 into file1
75 76 $ cvsci -m"add text [MERGE from v1_0]"
76 77 cvs commit: Examining .
77 78
78 79 merge change to trunk
79 80
80 81 $ cvscall -Q update -A
81 82 $ cvscall -Q update -jv1_1
82 83 RCS file: */cvsrepo/proj/file1,v (glob)
83 84 retrieving revision 1.1
84 85 retrieving revision 1.1.4.1
85 86 Merging differences between 1.1 and 1.1.4.1 into file1
86 87 $ cvsci -m"add text [MERGE from v1_1]"
87 88 cvs commit: Examining .
88 89
89 90 non-merged change on trunk
90 91
91 92 $ echo "foo" > file2
92 93 $ cvscall -Q add file2
93 94 $ cvsci -m"add file2 on trunk" file2
94 95
95 96 this will create rev 1.3
96 97 change on trunk to backport
97 98
99 $ sleep 1
98 100 $ echo "backport me" >> file1
99 101 $ cvsci -m"add other text" file1
100 102 $ cvscall log file1
101 103
102 104 RCS file: */cvsrepo/proj/file1,v (glob)
103 105 Working file: file1
104 106 head: 1.3
105 107 branch:
106 108 locks: strict
107 109 access list:
108 110 symbolic names:
109 111 v1_1: 1.1.0.4
110 112 v1_0: 1.1.0.2
111 113 keyword substitution: kv
112 114 total revisions: 5; selected revisions: 5
113 115 description:
114 116 ----------------------------
115 117 revision 1.3
116 118 date: * (glob)
117 119 add other text
118 120 ----------------------------
119 121 revision 1.2
120 122 date: * (glob)
121 123 add text [MERGE from v1_1]
122 124 ----------------------------
123 125 revision 1.1
124 126 date: * (glob)
125 127 branches: 1.1.2; 1.1.4;
126 128 add file1 on trunk
127 129 ----------------------------
128 130 revision 1.1.4.1
129 131 date: * (glob)
130 132 add text [MERGE from v1_0]
131 133 ----------------------------
132 134 revision 1.1.2.1
133 135 date: * (glob)
134 136 add text
135 137 =============================================================================
136 138
137 139 XXX how many ways are there to spell "trunk" with CVS?
138 140 backport trunk change to v1_1
139 141
140 142 $ cvscall -Q update -rv1_1
141 143 $ cvscall -Q update -j1.2 -j1.3 file1
142 144 RCS file: */cvsrepo/proj/file1,v (glob)
143 145 retrieving revision 1.2
144 146 retrieving revision 1.3
145 147 Merging differences between 1.2 and 1.3 into file1
146 148 $ cvsci -m"add other text [MERGE from HEAD]" file1
147 149
148 150 fix bug on v1_1, merge to trunk with error
149 151
150 152 $ cvscall -Q update -rv1_1
153 $ sleep 1
151 154 $ echo "merge forward" >> file1
152 155 $ cvscall -Q tag unmerged
153 156 $ cvsci -m"fix file1"
154 157 cvs commit: Examining .
155 158 $ cvscall -Q update -A
156 159 $ cvscall -Q update -junmerged -jv1_1
157 160 RCS file: */cvsrepo/proj/file1,v (glob)
158 161 retrieving revision 1.1.4.2
159 162 retrieving revision 1.1.4.3
160 163 Merging differences between 1.1.4.2 and 1.1.4.3 into file1
161 164
162 165 note the typo in the commit log message
163 166
164 167 $ cvsci -m"fix file1 [MERGE from v1-1]"
165 168 cvs commit: Examining .
166 169 $ cvs -Q tag -d unmerged
167 170
168 171 convert to hg
169 172
170 173 $ cd ..
171 174 $ hg convert proj proj.hg
172 175 initializing destination proj.hg repository
173 176 connecting to */cvsrepo (glob)
174 177 scanning source...
175 178 collecting CVS rlog
176 179 12 log entries
177 180 creating changesets
178 181 warning: CVS commit message references non-existent branch 'v1-1':
179 182 fix file1 [MERGE from v1-1]
180 183 10 changeset entries
181 184 sorting...
182 185 converting...
183 186 9 add file1 on trunk
184 187 8 add text
185 188 7 unrelated change
186 189 6 add text [MERGE from v1_0]
187 190 5 add text [MERGE from v1_1]
188 191 4 add file2 on trunk
189 192 3 add other text
190 193 2 add other text [MERGE from HEAD]
191 194 1 fix file1
192 195 0 fix file1 [MERGE from v1-1]
193 196
194 197 complete log
195 198
196 199 $ template="{rev}: '{branches}' {desc}\n"
197 200 $ hg -R proj.hg log --template="$template"
198 201 9: '' fix file1 [MERGE from v1-1]
199 202 8: 'v1_1' fix file1
200 203 7: 'v1_1' add other text [MERGE from HEAD]
201 204 6: '' add other text
202 205 5: '' add file2 on trunk
203 206 4: '' add text [MERGE from v1_1]
204 207 3: 'v1_1' add text [MERGE from v1_0]
205 208 2: 'v1_1' unrelated change
206 209 1: 'v1_0' add text
207 210 0: '' add file1 on trunk
208 211
209 212 graphical log
210 213
211 214 $ hg -R proj.hg glog --template="$template"
212 215 o 9: '' fix file1 [MERGE from v1-1]
213 216 |
214 217 | o 8: 'v1_1' fix file1
215 218 | |
216 219 | o 7: 'v1_1' add other text [MERGE from HEAD]
217 220 |/|
218 221 o | 6: '' add other text
219 222 | |
220 223 o | 5: '' add file2 on trunk
221 224 | |
222 225 o | 4: '' add text [MERGE from v1_1]
223 226 |\|
224 227 | o 3: 'v1_1' add text [MERGE from v1_0]
225 228 | |\
226 229 +---o 2: 'v1_1' unrelated change
227 230 | |
228 231 | o 1: 'v1_0' add text
229 232 |/
230 233 o 0: '' add file1 on trunk
231 234
General Comments 0
You need to be logged in to leave comments. Login now