view tests/fixtures/project_root_at_repo_root.svndump @ 937:fb6f6b7fa5a5

editor: implement file batons The concept of current.file is incorrect, svn_delta.h documents open file lifetime as: * 5. When the producer calls @c open_file or @c add_file, either: * * (a) The producer must follow with any changes to the file * (@c change_file_prop and/or @c apply_textdelta, as applicable), * followed by a @c close_file call, before issuing any other file * or directory calls, or * * (b) The producer must follow with a @c change_file_prop call if * it is applicable, before issuing any other file or directory * calls; later, after all directory batons including the root * have been closed, the producer must issue @c apply_textdelta * and @c close_file calls. So, an open file can be kept open until after the root directory is closed and have deltas applied afterwards. In the meantime, other files may have been opened and patched, overwriting the current.file variable. This patch fixes it by introducing file batons bound to file paths, and using them to deduce the correct target in apply_textdelta(). In theory, open files could be put in a staging area until they are closed and moved in the RevisionData. But the current code registers files copied during a directory copy as open files and these will not receive a close_file() event. This separation will be enforced later.
author Patrick Mezard <patrick@mezard.eu>
date Sun, 23 Sep 2012 19:52:48 +0200
parents 537de0300510
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