Mercurial > hgsubversion
view svnwrap/tests/fixtures/project_root_at_repo_root.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 | bfbce70a9a57 |
children |
line wrap: on
line source
SVN-fs-dump-format-version: 2 UUID: e72213dc-9746-48d2-846a-a19c2c569b0d Revision-number: 0 Prop-content-length: 56 Content-length: 56 K 8 svn:date V 27 2008-10-09T14:46:06.470091Z PROPS-END Revision-number: 1 Prop-content-length: 111 Content-length: 111 K 7 svn:log V 11 Empty dirs. K 10 svn:author V 5 durin K 8 svn:date V 27 2008-10-09T14:46:07.147162Z PROPS-END Node-path: branches Node-kind: dir Node-action: add Prop-content-length: 10 Content-length: 10 PROPS-END Node-path: tags Node-kind: dir Node-action: add Prop-content-length: 10 Content-length: 10 PROPS-END Node-path: trunk Node-kind: dir Node-action: add Prop-content-length: 10 Content-length: 10 PROPS-END Revision-number: 2 Prop-content-length: 114 Content-length: 114 K 7 svn:log V 14 Initial Files. K 10 svn:author V 5 durin K 8 svn:date V 27 2008-10-09T14:46:08.147874Z PROPS-END Node-path: trunk/alpha Node-kind: file Node-action: add Prop-content-length: 10 Text-content-length: 15 Text-content-md5: 8717538ba2f18a613eaa4892e8d178f7 Content-length: 25 PROPS-END This is alpha. Node-path: trunk/beta Node-kind: file Node-action: add Prop-content-length: 10 Text-content-length: 14 Text-content-md5: 952a13b33256f343982d0a8f0e0af277 Content-length: 24 PROPS-END This is beta. Node-path: trunk/delta Node-kind: file Node-action: add Prop-content-length: 10 Text-content-length: 15 Text-content-md5: e48d0bca73f04e800e7bd9fb58d49a62 Content-length: 25 PROPS-END This is delta. Revision-number: 3 Prop-content-length: 110 Content-length: 110 K 7 svn:log V 10 Tag rev 1. K 10 svn:author V 5 durin K 8 svn:date V 27 2008-10-09T14:46:10.131807Z PROPS-END Node-path: tags/rev1 Node-kind: dir Node-action: add Node-copyfrom-rev: 1 Node-copyfrom-path: trunk Prop-content-length: 34 Content-length: 34 K 13 svn:mergeinfo V 0 PROPS-END Node-path: tags/rev1/alpha Node-kind: file Node-action: add Node-copyfrom-rev: 2 Node-copyfrom-path: trunk/alpha Text-copy-source-md5: 8717538ba2f18a613eaa4892e8d178f7 Node-path: tags/rev1/beta Node-kind: file Node-action: add Node-copyfrom-rev: 2 Node-copyfrom-path: trunk/beta Text-copy-source-md5: 952a13b33256f343982d0a8f0e0af277 Node-path: tags/rev1/delta Node-kind: file Node-action: add Node-copyfrom-rev: 2 Node-copyfrom-path: trunk/delta Text-copy-source-md5: e48d0bca73f04e800e7bd9fb58d49a62 Revision-number: 4 Prop-content-length: 116 Content-length: 116 K 7 svn:log V 16 Branch to crazy. K 10 svn:author V 5 durin K 8 svn:date V 27 2008-10-09T14:46:12.131174Z PROPS-END Node-path: branches/crazy Node-kind: dir Node-action: add Node-copyfrom-rev: 1 Node-copyfrom-path: trunk Prop-content-length: 34 Content-length: 34 K 13 svn:mergeinfo V 0 PROPS-END Node-path: branches/crazy/alpha Node-kind: file Node-action: add Node-copyfrom-rev: 2 Node-copyfrom-path: trunk/alpha Text-copy-source-md5: 8717538ba2f18a613eaa4892e8d178f7 Node-path: branches/crazy/beta Node-kind: file Node-action: add Node-copyfrom-rev: 2 Node-copyfrom-path: trunk/beta Text-copy-source-md5: 952a13b33256f343982d0a8f0e0af277 Node-path: branches/crazy/delta Node-kind: file Node-action: add Node-copyfrom-rev: 2 Node-copyfrom-path: trunk/delta Text-copy-source-md5: e48d0bca73f04e800e7bd9fb58d49a62 Revision-number: 5 Prop-content-length: 108 Content-length: 108 K 7 svn:log V 9 Add gamma K 10 svn:author V 5 durin K 8 svn:date V 27 2008-10-09T14:46:13.143196Z PROPS-END Node-path: trunk/gamma Node-kind: file Node-action: add Prop-content-length: 10 Text-content-length: 15 Text-content-md5: 255b705986e84fbb13db9c5a832739ae Content-length: 25 PROPS-END This is gamma. Revision-number: 6 Prop-content-length: 108 Content-length: 108 K 7 svn:log V 9 Add omega K 10 svn:author V 5 durin K 8 svn:date V 27 2008-10-09T14:46:14.144244Z PROPS-END Node-path: branches/crazy/omega Node-kind: file Node-action: add Prop-content-length: 10 Text-content-length: 15 Text-content-md5: 22219e00c8dbb47ce790f0eb658e8014 Content-length: 25 PROPS-END This is omega. Revision-number: 7 Prop-content-length: 121 Content-length: 121 K 7 svn:log V 21 Branch to more_crazy. K 10 svn:author V 5 durin K 8 svn:date V 27 2008-10-09T14:46:16.135900Z PROPS-END Node-path: branches/more_crazy Node-kind: dir Node-action: add Node-copyfrom-rev: 1 Node-copyfrom-path: trunk Prop-content-length: 34 Content-length: 34 K 13 svn:mergeinfo V 0 PROPS-END Node-path: branches/more_crazy/alpha Node-kind: file Node-action: add Node-copyfrom-rev: 2 Node-copyfrom-path: trunk/alpha Text-copy-source-md5: 8717538ba2f18a613eaa4892e8d178f7 Node-path: branches/more_crazy/beta Node-kind: file Node-action: add Node-copyfrom-rev: 2 Node-copyfrom-path: trunk/beta Text-copy-source-md5: 952a13b33256f343982d0a8f0e0af277 Node-path: branches/more_crazy/delta Node-kind: file Node-action: add Node-copyfrom-rev: 2 Node-copyfrom-path: trunk/delta Text-copy-source-md5: e48d0bca73f04e800e7bd9fb58d49a62 Node-path: branches/more_crazy/gamma Node-kind: file Node-action: add Node-copyfrom-rev: 5 Node-copyfrom-path: trunk/gamma Text-copy-source-md5: 255b705986e84fbb13db9c5a832739ae