view tests/fixtures/truncatedhistory.svndump @ 889:7a98fbadcae9

revsets: huge speedups for fromsvn and svnrev I have a hgsubversion repo that contains over 300,000 commits. In that repo, this patch improves performance as follows: hg --time log -r 'first(fromsvn())' Before: 40.3 sec After: 0.8 sec hg --time log -r 'svnrev(350000)' Before: 40.3 sec After: 0.1 sec Note: the performance of these revset implementations is very sensitive to doing as little work as possible per line of the rev_map file. I originally attempted to hide the file format details by hoisting the parsing of each line up into RevMap.readmapfile, but the current less abstract code is dramatically (10x or more) faster. If the revmap file is missing, we error out and print a message describing what to do.
author Bryan O'Sullivan <bryano@fb.com>
date Sat, 12 May 2012 05:38:34 -0700
parents 3b60f223893a
children
line wrap: on
line source

SVN-fs-dump-format-version: 2

UUID: a632509c-657a-43d2-ae0b-85387476b20e

Revision-number: 0
Prop-content-length: 56
Content-length: 56

K 8
svn:date
V 27
2008-11-11T19:00:25.260082Z
PROPS-END

Revision-number: 1
Prop-content-length: 114
Content-length: 114

K 7
svn:log
V 12
init project
K 10
svn:author
V 7
pmezard
K 8
svn:date
V 27
2008-11-11T19:00:25.322759Z
PROPS-END

Node-path: project1
Node-kind: dir
Node-action: add
Prop-content-length: 10
Content-length: 10

PROPS-END


Node-path: project2
Node-kind: dir
Node-action: add
Prop-content-length: 10
Content-length: 10

PROPS-END


Revision-number: 2
Prop-content-length: 106
Content-length: 106

K 7
svn:log
V 5
add a
K 10
svn:author
V 7
pmezard
K 8
svn:date
V 27
2008-11-11T19:00:26.173269Z
PROPS-END

Node-path: project1/a
Node-kind: file
Node-action: add
Prop-content-length: 10
Text-content-length: 2
Text-content-md5: 60b725f10c9c85c70d97880dfe8191b3
Content-length: 12

PROPS-END
a


Revision-number: 3
Prop-content-length: 117
Content-length: 117

K 7
svn:log
V 15
rename project1
K 10
svn:author
V 7
pmezard
K 8
svn:date
V 27
2008-11-11T19:00:29.152593Z
PROPS-END

Node-path: project2/trunk
Node-kind: dir
Node-action: add
Node-copyfrom-rev: 2
Node-copyfrom-path: project1
Prop-content-length: 34
Content-length: 34

K 13
svn:mergeinfo
V 0

PROPS-END


Node-path: project1
Node-action: delete


Revision-number: 4
Prop-content-length: 106
Content-length: 106

K 7
svn:log
V 5
add b
K 10
svn:author
V 7
pmezard
K 8
svn:date
V 27
2008-11-11T19:00:30.178261Z
PROPS-END

Node-path: project2/trunk/b
Node-kind: file
Node-action: add
Prop-content-length: 10
Text-content-length: 2
Text-content-md5: 3b5d5c3712955042212316173ccf37be
Content-length: 12

PROPS-END
b