Mercurial > hgsubversion
view tests/fixtures/two_heads.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 | db32dee803a8 |
children |
line wrap: on
line source
SVN-fs-dump-format-version: 2 UUID: df2126f7-00ab-4d49-b42c-7e981dde0bcf Revision-number: 0 Prop-content-length: 56 Content-length: 56 K 8 svn:date V 27 2008-10-07T22:49:12.059692Z 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-07T22:49:41.118037Z 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: 108 Content-length: 108 K 7 svn:log V 9 Add alpha K 10 svn:author V 5 durin K 8 svn:date V 27 2008-10-07T23:23:02.991743Z PROPS-END Node-path: trunk/alpha Node-kind: file Node-action: add Prop-content-length: 10 Text-content-length: 12 Text-content-md5: 3c72ebf8bbd7fa88b1fdcee5398b5a17 Content-length: 22 PROPS-END file: alpha Revision-number: 3 Prop-content-length: 107 Content-length: 107 K 7 svn:log V 8 Add beta K 10 svn:author V 5 durin K 8 svn:date V 27 2008-10-07T23:28:22.651398Z PROPS-END Node-path: trunk/beta Node-kind: file Node-action: add Prop-content-length: 10 Text-content-length: 13 Text-content-md5: 981d1eb5fd0bbe05354c292105944863 Content-length: 23 PROPS-END Data of beta Revision-number: 4 Prop-content-length: 113 Content-length: 113 K 7 svn:log V 13 Make a branch K 10 svn:author V 5 durin K 8 svn:date V 27 2008-10-08T01:35:39.984789Z PROPS-END Node-path: branches/the_branch Node-kind: dir Node-action: add Node-copyfrom-rev: 3 Node-copyfrom-path: trunk Prop-content-length: 34 Content-length: 34 K 13 svn:mergeinfo V 0 PROPS-END Revision-number: 5 Prop-content-length: 123 Content-length: 123 K 7 svn:log V 23 add delta on the branch K 10 svn:author V 5 durin K 8 svn:date V 27 2008-10-08T01:39:05.520779Z PROPS-END Node-path: branches/the_branch/delta Node-kind: file Node-action: add Prop-content-length: 10 Text-content-length: 6 Text-content-md5: d2840cc81bc032bd1141b56687d0f93c Content-length: 16 PROPS-END delta Revision-number: 6 Prop-content-length: 119 Content-length: 119 K 7 svn:log V 19 Add gamma on trunk. K 10 svn:author V 5 durin K 8 svn:date V 27 2008-10-08T01:39:29.950892Z PROPS-END Node-path: trunk/gamma Node-kind: file Node-action: add Prop-content-length: 10 Text-content-length: 6 Text-content-md5: 303febb9068384eca46b5b6516843b35 Content-length: 16 PROPS-END gamma