Mercurial > hgsubversion
comparison tests/fixtures/renames.svndump @ 69:63ece4ea25c9
hg_delta_editor: register copies only if files are unchanged between source and dest
Handle copies of items from revision X into revision Y where X is not the
parent of Y. This cannot happen in Mercurial because copies always happen
between parents and children. A file copy is recorded if:
1- Source and destination revs are in the same branch.
2- The file is unchanged (content, type, removal) through all revisions between
destination and source, not including source and destination.
Directory copies are registered only if the previous rules apply on all copied
items.
[1] is there because file copies across branches are meaningless in Mercurial
world. We could have tried to remap the source rev to a similar one in the
correct branch, but anyway the intent is wrong.
[2] is more questionable but I think it's better this way for we live in a
non-perfect svn world. In theory, 99% of copies out there should come from the
direct parent. But the direct parent is a fuzzy notion when you can have a
working directory composed of different directory at different revisions. So we
assume that stuff copied from past revisions exactly matching the content of
the direct parent revision is really copied from the parent revision. The
alternative would be to discard the copy, which would always happen unless
people kept updating the working directory after every commit (see
tests).
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Wed, 05 Nov 2008 13:37:08 +0100 |
parents | e0c86ebe05e3 |
children | bf1e8b8ed452 |
comparison
equal
deleted
inserted
replaced
68:e0c86ebe05e3 | 69:63ece4ea25c9 |
---|---|
1 SVN-fs-dump-format-version: 2 | 1 SVN-fs-dump-format-version: 2 |
2 | 2 |
3 UUID: 6ebabe06-44c1-4542-ad93-bd59fbe3743b | 3 UUID: fa1ccad6-11a6-48b0-ba92-9a083fa61127 |
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 2008-11-02T10:33:21.311566Z | 12 2008-11-02T15:08:30.507812Z |
13 PROPS-END | 13 PROPS-END |
14 | 14 |
15 Revision-number: 1 | 15 Revision-number: 1 |
16 Prop-content-length: 114 | 16 Prop-content-length: 114 |
17 Content-length: 114 | 17 Content-length: 114 |
25 V 7 | 25 V 7 |
26 pmezard | 26 pmezard |
27 K 8 | 27 K 8 |
28 svn:date | 28 svn:date |
29 V 27 | 29 V 27 |
30 2008-11-02T10:33:21.376729Z | 30 2008-11-02T15:08:30.609102Z |
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 |
61 V 7 | 61 V 7 |
62 pmezard | 62 pmezard |
63 K 8 | 63 K 8 |
64 svn:date | 64 svn:date |
65 V 27 | 65 V 27 |
66 2008-11-02T10:33:22.217406Z | 66 2008-11-02T15:08:31.258716Z |
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 |
88 | 88 |
89 PROPS-END | 89 PROPS-END |
90 b | 90 b |
91 | 91 |
92 | 92 |
93 Node-path: trunk/changed | |
94 Node-kind: file | |
95 Node-action: add | |
96 Prop-content-length: 10 | |
97 Text-content-length: 8 | |
98 Text-content-md5: ec1bebaea2c042beb68f7679ddd106a4 | |
99 Content-length: 18 | |
100 | |
101 PROPS-END | |
102 changed | |
103 | |
104 | |
105 Node-path: trunk/changeddir | |
106 Node-kind: dir | |
107 Node-action: add | |
108 Prop-content-length: 10 | |
109 Content-length: 10 | |
110 | |
111 PROPS-END | |
112 | |
113 | |
114 Node-path: trunk/changeddir/f | |
115 Node-kind: file | |
116 Node-action: add | |
117 Prop-content-length: 10 | |
118 Text-content-length: 9 | |
119 Text-content-md5: 2dfdfd8492a2c558ec838d69f73f5f6b | |
120 Content-length: 19 | |
121 | |
122 PROPS-END | |
123 changed2 | |
124 | |
125 | |
93 Node-path: trunk/da | 126 Node-path: trunk/da |
94 Node-kind: dir | 127 Node-kind: dir |
95 Node-action: add | 128 Node-action: add |
96 Prop-content-length: 10 | 129 Prop-content-length: 10 |
97 Content-length: 10 | 130 Content-length: 10 |
163 | 196 |
164 PROPS-END | 197 PROPS-END |
165 deleted | 198 deleted |
166 | 199 |
167 | 200 |
201 Node-path: trunk/unchanged | |
202 Node-kind: file | |
203 Node-action: add | |
204 Prop-content-length: 10 | |
205 Text-content-length: 10 | |
206 Text-content-md5: 85ae5b04dd0a666efad8633d142a4635 | |
207 Content-length: 20 | |
208 | |
209 PROPS-END | |
210 unchanged | |
211 | |
212 | |
213 Node-path: trunk/unchangeddir | |
214 Node-kind: dir | |
215 Node-action: add | |
216 Prop-content-length: 10 | |
217 Content-length: 10 | |
218 | |
219 PROPS-END | |
220 | |
221 | |
222 Node-path: trunk/unchangeddir/f | |
223 Node-kind: file | |
224 Node-action: add | |
225 Prop-content-length: 10 | |
226 Text-content-length: 11 | |
227 Text-content-md5: a11092875079a002afb9ecef07f510e7 | |
228 Content-length: 21 | |
229 | |
230 PROPS-END | |
231 unchanged2 | |
232 | |
233 | |
168 Revision-number: 3 | 234 Revision-number: 3 |
169 Prop-content-length: 123 | 235 Prop-content-length: 123 |
170 Content-length: 123 | 236 Content-length: 123 |
171 | 237 |
172 K 7 | 238 K 7 |
178 V 7 | 244 V 7 |
179 pmezard | 245 pmezard |
180 K 8 | 246 K 8 |
181 svn:date | 247 svn:date |
182 V 27 | 248 V 27 |
183 2008-11-02T10:33:23.197795Z | 249 2008-11-02T15:08:32.203445Z |
184 PROPS-END | 250 PROPS-END |
251 | |
252 Node-path: trunk/changed | |
253 Node-kind: file | |
254 Node-action: change | |
255 Text-content-length: 16 | |
256 Text-content-md5: 1725f40a29aad369a39b0f96c82d50f9 | |
257 Content-length: 16 | |
258 | |
259 changed | |
260 changed | |
261 | |
262 | |
263 Node-path: trunk/changeddir/f | |
264 Node-kind: file | |
265 Node-action: change | |
266 Text-content-length: 18 | |
267 Text-content-md5: 984b8c4ab9193b7659b9f914897a949c | |
268 Content-length: 18 | |
269 | |
270 changed2 | |
271 changed2 | |
272 | |
185 | 273 |
186 Node-path: trunk/deleteddir | 274 Node-path: trunk/deleteddir |
187 Node-action: delete | 275 Node-action: delete |
188 | 276 |
189 | 277 |
204 V 7 | 292 V 7 |
205 pmezard | 293 pmezard |
206 K 8 | 294 K 8 |
207 svn:date | 295 svn:date |
208 V 27 | 296 V 27 |
209 2008-11-02T10:33:25.160163Z | 297 2008-11-02T15:08:34.175358Z |
210 PROPS-END | 298 PROPS-END |
211 | 299 |
212 Node-path: branches/branch1 | 300 Node-path: branches/branch1 |
213 Node-kind: dir | 301 Node-kind: dir |
214 Node-action: add | 302 Node-action: add |
238 Node-copyfrom-rev: 2 | 326 Node-copyfrom-rev: 2 |
239 Node-copyfrom-path: trunk/b | 327 Node-copyfrom-path: trunk/b |
240 Text-copy-source-md5: 3b5d5c3712955042212316173ccf37be | 328 Text-copy-source-md5: 3b5d5c3712955042212316173ccf37be |
241 | 329 |
242 | 330 |
331 Node-path: branches/branch1/changed | |
332 Node-kind: file | |
333 Node-action: add | |
334 Node-copyfrom-rev: 3 | |
335 Node-copyfrom-path: trunk/changed | |
336 Text-copy-source-md5: 1725f40a29aad369a39b0f96c82d50f9 | |
337 | |
338 | |
339 Node-path: branches/branch1/changeddir | |
340 Node-kind: dir | |
341 Node-action: add | |
342 Node-copyfrom-rev: 2 | |
343 Node-copyfrom-path: trunk/changeddir | |
344 | |
345 | |
346 Node-path: branches/branch1/changeddir/f | |
347 Node-kind: file | |
348 Node-action: delete | |
349 | |
350 Node-path: branches/branch1/changeddir/f | |
351 Node-kind: file | |
352 Node-action: add | |
353 Node-copyfrom-rev: 3 | |
354 Node-copyfrom-path: trunk/changeddir/f | |
355 Text-copy-source-md5: 984b8c4ab9193b7659b9f914897a949c | |
356 | |
357 | |
358 | |
359 | |
243 Node-path: branches/branch1/da | 360 Node-path: branches/branch1/da |
244 Node-kind: dir | 361 Node-kind: dir |
245 Node-action: add | 362 Node-action: add |
246 Node-copyfrom-rev: 2 | 363 Node-copyfrom-rev: 2 |
247 Node-copyfrom-path: trunk/da | 364 Node-copyfrom-path: trunk/da |
365 | |
366 | |
367 Node-path: branches/branch1/unchanged | |
368 Node-kind: file | |
369 Node-action: add | |
370 Node-copyfrom-rev: 2 | |
371 Node-copyfrom-path: trunk/unchanged | |
372 Text-copy-source-md5: 85ae5b04dd0a666efad8633d142a4635 | |
373 | |
374 | |
375 Node-path: branches/branch1/unchangeddir | |
376 Node-kind: dir | |
377 Node-action: add | |
378 Node-copyfrom-rev: 2 | |
379 Node-copyfrom-path: trunk/unchangeddir | |
248 | 380 |
249 | 381 |
250 Revision-number: 5 | 382 Revision-number: 5 |
251 Prop-content-length: 106 | 383 Prop-content-length: 106 |
252 Content-length: 106 | 384 Content-length: 106 |
260 V 7 | 392 V 7 |
261 pmezard | 393 pmezard |
262 K 8 | 394 K 8 |
263 svn:date | 395 svn:date |
264 V 27 | 396 V 27 |
265 2008-11-02T10:33:26.173058Z | 397 2008-11-02T15:08:35.168793Z |
266 PROPS-END | 398 PROPS-END |
267 | 399 |
268 Node-path: branches/branch1/c | 400 Node-path: branches/branch1/c |
269 Node-kind: file | 401 Node-kind: file |
270 Node-action: add | 402 Node-action: add |
290 V 7 | 422 V 7 |
291 pmezard | 423 pmezard |
292 K 8 | 424 K 8 |
293 svn:date | 425 svn:date |
294 V 27 | 426 V 27 |
295 2008-11-02T10:33:33.195961Z | 427 2008-11-02T15:08:42.197170Z |
296 PROPS-END | 428 PROPS-END |
297 | 429 |
298 Node-path: branches/branch1/c1 | 430 Node-path: branches/branch1/c1 |
299 Node-kind: file | 431 Node-kind: file |
300 Node-action: add | 432 Node-action: add |
429 V 7 | 561 V 7 |
430 pmezard | 562 pmezard |
431 K 8 | 563 K 8 |
432 svn:date | 564 svn:date |
433 V 27 | 565 V 27 |
434 2008-11-02T10:33:35.147012Z | 566 2008-11-02T15:08:44.147557Z |
435 PROPS-END | 567 PROPS-END |
436 | 568 |
437 Node-path: trunk/c | 569 Node-path: trunk/c |
438 Node-kind: file | 570 Node-kind: file |
439 Node-action: add | 571 Node-action: add |
463 V 7 | 595 V 7 |
464 pmezard | 596 pmezard |
465 K 8 | 597 K 8 |
466 svn:date | 598 svn:date |
467 V 27 | 599 V 27 |
468 2008-11-02T10:33:38.154817Z | 600 2008-11-02T15:08:47.152642Z |
469 PROPS-END | 601 PROPS-END |
470 | 602 |
471 Node-path: trunk/deleteddir | 603 Node-path: trunk/deleteddir |
472 Node-kind: dir | 604 Node-kind: dir |
473 Node-action: add | 605 Node-action: add |
481 Node-copyfrom-rev: 2 | 613 Node-copyfrom-rev: 2 |
482 Node-copyfrom-path: trunk/deletedfile | 614 Node-copyfrom-path: trunk/deletedfile |
483 Text-copy-source-md5: 4d742b2f247bec99b41a60acbebc149a | 615 Text-copy-source-md5: 4d742b2f247bec99b41a60acbebc149a |
484 | 616 |
485 | 617 |
618 Revision-number: 9 | |
619 Prop-content-length: 140 | |
620 Content-length: 140 | |
621 | |
622 K 7 | |
623 svn:log | |
624 V 38 | |
625 copy stuff from the past before change | |
626 K 10 | |
627 svn:author | |
628 V 7 | |
629 pmezard | |
630 K 8 | |
631 svn:date | |
632 V 27 | |
633 2008-11-02T15:08:50.152360Z | |
634 PROPS-END | |
635 | |
636 Node-path: trunk/changed2 | |
637 Node-kind: file | |
638 Node-action: add | |
639 Node-copyfrom-rev: 2 | |
640 Node-copyfrom-path: trunk/changed | |
641 Text-copy-source-md5: ec1bebaea2c042beb68f7679ddd106a4 | |
642 | |
643 | |
644 Node-path: trunk/changeddir2 | |
645 Node-kind: dir | |
646 Node-action: add | |
647 Node-copyfrom-rev: 2 | |
648 Node-copyfrom-path: trunk/changeddir | |
649 | |
650 | |
651 Revision-number: 10 | |
652 Prop-content-length: 136 | |
653 Content-length: 136 | |
654 | |
655 K 7 | |
656 svn:log | |
657 V 34 | |
658 copy unchanged stuff from the past | |
659 K 10 | |
660 svn:author | |
661 V 7 | |
662 pmezard | |
663 K 8 | |
664 svn:date | |
665 V 27 | |
666 2008-11-02T15:08:53.156849Z | |
667 PROPS-END | |
668 | |
669 Node-path: trunk/unchanged2 | |
670 Node-kind: file | |
671 Node-action: add | |
672 Node-copyfrom-rev: 2 | |
673 Node-copyfrom-path: trunk/unchanged | |
674 Text-copy-source-md5: 85ae5b04dd0a666efad8633d142a4635 | |
675 | |
676 | |
677 Node-path: trunk/unchangeddir2 | |
678 Node-kind: dir | |
679 Node-action: add | |
680 Node-copyfrom-rev: 2 | |
681 Node-copyfrom-path: trunk/unchangeddir | |
682 | |
683 |