Mercurial > hgsubversion
view tests/fixtures/copies.svndump @ 1293:9e85feb93984
wrappers: improve push performance by reusing the existing metadata
Push operation for n commits regenerated SVNMeta class 2*n+1 times
(one time at beginning, n times in push() loop, 1 time per each of n
pulls). This operation is very costly when the revision map is big.
This commit reuses this metadata every time when there is no rebase
made between svn commits which leads to 1 metadata rebuild in optimistic
case and n+1 metadata rebuilds in pessimistic case (rebase after every commit).
To achieve this I added extra parameter to pull command to pass metadata
to it.
All unit tests are passing for this change.
author | Mateusz Kwapich <mitrandir@fb.com> |
---|---|
date | Fri, 12 Dec 2014 16:17:11 -0800 |
parents | 64d961130a07 |
children |
line wrap: on
line source
SVN-fs-dump-format-version: 2 UUID: 6f377846-a035-4244-a154-e87a9351a653 Revision-number: 0 Prop-content-length: 56 Content-length: 56 K 8 svn:date V 27 2012-10-15T19:02:56.936694Z PROPS-END Revision-number: 1 Prop-content-length: 105 Content-length: 105 K 10 svn:author V 7 pmezard K 8 svn:date V 27 2012-10-15T19:02:56.958201Z K 7 svn:log V 4 init PROPS-END Node-path: trunk Node-kind: dir Node-action: add Prop-content-length: 10 Content-length: 10 PROPS-END Node-path: trunk/dir Node-kind: dir Node-action: add Prop-content-length: 10 Content-length: 10 PROPS-END Node-path: trunk/dir/a Node-kind: file Node-action: add Prop-content-length: 10 Text-content-length: 2 Text-content-md5: 60b725f10c9c85c70d97880dfe8191b3 Text-content-sha1: 3f786850e387550fdab836ed7e6dc881de23001b Content-length: 12 PROPS-END a Revision-number: 2 Prop-content-length: 123 Content-length: 123 K 10 svn:author V 7 pmezard K 8 svn:date V 27 2012-10-15T19:02:58.046478Z K 7 svn:log V 21 copy/edit trunk/dir/a PROPS-END Node-path: trunk/dir2 Node-kind: dir Node-action: add Node-copyfrom-rev: 1 Node-copyfrom-path: trunk/dir Node-path: trunk/dir2/a Node-kind: file Node-action: change Text-content-length: 4 Text-content-md5: dd8c6a395b5dd36c56d23275028f526c Text-content-sha1: 05dec960e24d918b8a73a1c53bcbbaac2ee5c2e0 Content-length: 4 a b Revision-number: 3 Prop-content-length: 119 Content-length: 119 K 10 svn:author V 7 pmezard K 8 svn:date V 27 2012-10-15T19:03:01.045897Z K 7 svn:log V 17 copy dir2 to dir3 PROPS-END Node-path: trunk/dir3 Node-kind: dir Node-action: add Node-copyfrom-rev: 2 Node-copyfrom-path: trunk/dir2 Revision-number: 4 Prop-content-length: 117 Content-length: 117 K 10 svn:author V 7 pmezard K 8 svn:date V 27 2012-10-15T19:03:03.046654Z K 7 svn:log V 15 copy and remove PROPS-END Node-path: trunk/dir3/a Node-kind: file Node-action: delete Node-path: trunk/dir3/a Node-kind: file Node-action: add Node-copyfrom-rev: 2 Node-copyfrom-path: trunk/dir2/a Text-copy-source-md5: dd8c6a395b5dd36c56d23275028f526c Text-copy-source-sha1: 05dec960e24d918b8a73a1c53bcbbaac2ee5c2e0