comparison tests/fixtures/addspecial.svndump @ 904:b6b1365e3489

canonicalize svn paths even more awesomely It turns out that SVN has bizarre path canonicalization rules that are sort of close to what urllib.quote does, but different in peculiar ways, and 1.7 suddenly cares deeply about canonicality. For instance, space (' ') maps to %20, but '~' stays unchanged instead of turning into %7e. Along with its new policy of frequent beatings administered to users of its bindings, SVN 1.7 introduces a function that idempotently canonicalizes URIs, which I found sort of by accident, because that's how you learn about SVN API changes. Older versions of SVN are less anal, so urllib.quote continues to work fine for them.
author Bryan O'Sullivan <bryano@fb.com>
date Mon, 14 May 2012 01:13:07 +0200
parents bd12a4da0f35
children
comparison
equal deleted inserted replaced
903:fd9397c863d4 904:b6b1365e3489
1 SVN-fs-dump-format-version: 2 1 SVN-fs-dump-format-version: 2
2 2
3 UUID: c8aac64d-a89b-4b18-8be4-1648446ccf98 3 UUID: 01df53ad-5d72-4756-8742-f669dc98f791
4 4
5 Revision-number: 0 5 Revision-number: 0
6 Prop-content-length: 56 6 Prop-content-length: 56
7 Content-length: 56 7 Content-length: 56
8 8
9 K 8 9 K 8
10 svn:date 10 svn:date
11 V 27 11 V 27
12 2012-05-13T12:00:44.718813Z 12 2012-05-13T22:22:43.218190Z
13 PROPS-END 13 PROPS-END
14 14
15 Revision-number: 1 15 Revision-number: 1
16 Prop-content-length: 118 16 Prop-content-length: 118
17 Content-length: 118 17 Content-length: 118
18 18
19 K 10
20 svn:author
21 V 6
22 bryano
23 K 8
24 svn:date
25 V 27
26 2012-05-13T22:22:44.112163Z
19 K 7 27 K 7
20 svn:log 28 svn:log
21 V 17 29 V 17
22 initial structure 30 initial structure
23 K 10
24 svn:author
25 V 6
26 bryano
27 K 8
28 svn:date
29 V 27
30 2012-05-13T12:00:45.074954Z
31 PROPS-END 31 PROPS-END
32 32
33 Node-path: branches 33 Node-path: branches
34 Node-kind: dir 34 Node-kind: dir
35 Node-action: add 35 Node-action: add
50 50
51 Revision-number: 2 51 Revision-number: 2
52 Prop-content-length: 103 52 Prop-content-length: 103
53 Content-length: 103 53 Content-length: 103
54 54
55 K 10
56 svn:author
57 V 6
58 bryano
59 K 8
60 svn:date
61 V 27
62 2012-05-13T22:22:45.111247Z
55 K 7 63 K 7
56 svn:log 64 svn:log
57 V 3 65 V 3
58 ci1 66 ci1
59 K 10
60 svn:author
61 V 6
62 bryano
63 K 8
64 svn:date
65 V 27
66 2012-05-13T12:00:46.061349Z
67 PROPS-END 67 PROPS-END
68 68
69 Node-path: trunk/a 69 Node-path: trunk/a
70 Node-kind: file 70 Node-kind: file
71 Node-action: add 71 Node-action: add
81 81
82 Revision-number: 3 82 Revision-number: 3
83 Prop-content-length: 111 83 Prop-content-length: 111
84 Content-length: 111 84 Content-length: 111
85 85
86 K 10
87 svn:author
88 V 6
89 bryano
90 K 8
91 svn:date
92 V 27
93 2012-05-13T22:22:48.110257Z
86 K 7 94 K 7
87 svn:log 95 svn:log
88 V 10 96 V 10
89 branch foo 97 branch foo
90 K 10
91 svn:author
92 V 6
93 bryano
94 K 8
95 svn:date
96 V 27
97 2012-05-13T12:00:49.059324Z
98 PROPS-END 98 PROPS-END
99 99
100 Node-path: branches/foo 100 Node-path: branches/foo
101 Node-kind: dir 101 Node-kind: dir
102 Node-action: add 102 Node-action: add
106 106
107 Revision-number: 4 107 Revision-number: 4
108 Prop-content-length: 107 108 Prop-content-length: 107
109 Content-length: 107 109 Content-length: 107
110 110
111 K 10
112 svn:author
113 V 6
114 bryano
115 K 8
116 svn:date
117 V 27
118 2012-05-13T22:22:49.115096Z
111 K 7 119 K 7
112 svn:log 120 svn:log
113 V 7 121 V 7
114 symlink 122 symlink
115 K 10
116 svn:author
117 V 6
118 bryano
119 K 8
120 svn:date
121 V 27
122 2012-05-13T12:00:50.080078Z
123 PROPS-END 123 PROPS-END
124 124
125 Node-path: branches/foo/fnord 125 Node-path: branches/foo/fnord
126 Node-kind: file 126 Node-kind: file
127 Node-action: add 127 Node-action: add
137 * 137 *
138 PROPS-END 138 PROPS-END
139 link a 139 link a
140 140
141 Revision-number: 5 141 Revision-number: 5
142 Prop-content-length: 105
143 Content-length: 105
144
145 K 10
146 svn:author
147 V 6
148 bryano
149 K 8
150 svn:date
151 V 27
152 2012-05-13T22:22:50.119266Z
153 K 7
154 svn:log
155 V 5
156 spacy
157 PROPS-END
158
159 Node-path: branches/foo/spacy name
160 Node-kind: dir
161 Node-action: add
162 Prop-content-length: 10
163 Content-length: 10
164
165 PROPS-END
166
167
168 Node-path: branches/foo/spacy name/spacy file
169 Node-kind: file
170 Node-action: add
171 Prop-content-length: 10
172 Text-content-length: 2
173 Text-content-md5: 60b725f10c9c85c70d97880dfe8191b3
174 Text-content-sha1: 3f786850e387550fdab836ed7e6dc881de23001b
175 Content-length: 12
176
177 PROPS-END
178 a
179
180
181 Revision-number: 6
182 Prop-content-length: 105
183 Content-length: 105
184
185 K 10
186 svn:author
187 V 6
188 bryano
189 K 8
190 svn:date
191 V 27
192 2012-05-13T22:22:52.123367Z
193 K 7
194 svn:log
195 V 5
196 tilde
197 PROPS-END
198
199 Node-path: branches/foo/spacy name/surprise ~
200 Node-kind: file
201 Node-action: add
202 Prop-content-length: 10
203 Text-content-length: 2
204 Text-content-md5: 3b5d5c3712955042212316173ccf37be
205 Text-content-sha1: 89e6c98d92887913cadf06b2adb97f26cde4849b
206 Content-length: 12
207
208 PROPS-END
209 b
210
211
212 Revision-number: 7
142 Prop-content-length: 111 213 Prop-content-length: 111
143 Content-length: 111 214 Content-length: 111
144 215
216 K 10
217 svn:author
218 V 6
219 bryano
220 K 8
221 svn:date
222 V 27
223 2012-05-13T22:22:54.129462Z
145 K 7 224 K 7
146 svn:log 225 svn:log
147 V 10 226 V 10
148 executable 227 executable
149 K 10
150 svn:author
151 V 6
152 bryano
153 K 8
154 svn:date
155 V 27
156 2012-05-13T12:00:52.082785Z
157 PROPS-END 228 PROPS-END
158 229
159 Node-path: branches/foo/exe 230 Node-path: branches/foo/exe
160 Node-kind: file 231 Node-kind: file
161 Node-action: add 232 Node-action: add
171 * 242 *
172 PROPS-END 243 PROPS-END
173 foo 244 foo
174 245
175 246
176 Revision-number: 6 247 Revision-number: 8
177 Prop-content-length: 105 248 Prop-content-length: 105
178 Content-length: 105 249 Content-length: 105
179 250
251 K 10
252 svn:author
253 V 6
254 bryano
255 K 8
256 svn:date
257 V 27
258 2012-05-13T22:22:57.111370Z
180 K 7 259 K 7
181 svn:log 260 svn:log
182 V 5 261 V 5
183 merge 262 merge
184 K 10
185 svn:author
186 V 6
187 bryano
188 K 8
189 svn:date
190 V 27
191 2012-05-13T12:00:55.062876Z
192 PROPS-END 263 PROPS-END
193 264
194 Node-path: trunk 265 Node-path: trunk
195 Node-kind: dir 266 Node-kind: dir
196 Node-action: change 267 Node-action: change
198 Content-length: 52 269 Content-length: 52
199 270
200 K 13 271 K 13
201 svn:mergeinfo 272 svn:mergeinfo
202 V 17 273 V 17
203 /branches/foo:3-5 274 /branches/foo:3-7
204 PROPS-END 275 PROPS-END
205 276
206 277
207 Node-path: trunk/exe 278 Node-path: trunk/exe
208 Node-kind: file 279 Node-kind: file
209 Node-action: add 280 Node-action: add
210 Node-copyfrom-rev: 5 281 Node-copyfrom-rev: 7
211 Node-copyfrom-path: branches/foo/exe 282 Node-copyfrom-path: branches/foo/exe
212 Text-copy-source-md5: d3b07384d113edec49eaa6238ad5ff00 283 Text-copy-source-md5: d3b07384d113edec49eaa6238ad5ff00
213 Text-copy-source-sha1: f1d2d2f924e986ac86fdf7b36c94bcdf32beec15 284 Text-copy-source-sha1: f1d2d2f924e986ac86fdf7b36c94bcdf32beec15
214 285
215 286
216 Node-path: trunk/fnord 287 Node-path: trunk/fnord
217 Node-kind: file 288 Node-kind: file
218 Node-action: add 289 Node-action: add
219 Node-copyfrom-rev: 5 290 Node-copyfrom-rev: 7
220 Node-copyfrom-path: branches/foo/fnord 291 Node-copyfrom-path: branches/foo/fnord
221 Text-copy-source-md5: c118dba188202a1efc975bef6064180b 292 Text-copy-source-md5: c118dba188202a1efc975bef6064180b
222 Text-copy-source-sha1: 41f94e4692313bf7f7c92aa600002f1dff93d6bf 293 Text-copy-source-sha1: 41f94e4692313bf7f7c92aa600002f1dff93d6bf
223 294
224 295
296 Node-path: trunk/spacy name
297 Node-kind: dir
298 Node-action: add
299 Node-copyfrom-rev: 7
300 Node-copyfrom-path: branches/foo/spacy name
301
302