Hello,
we recently converted some large CVS-repos (6 -8 GB) to svn.
We liked the cvs2svn-option to record the CVS-version as a property.
To finish the migration we deleted this property on all files in /trunk/
.. in a single commit
Now we got complains about the "svn log" is *very* slow on this
repository.
As further analysis shows, svn log is only this slow, if our special
"CVS-Version-Property removal"-commit is involved (in this case Rev
59504).
I looked into the revision file db/revs/59504 which was 14 MB. There are
other files(eg. Rev 172 with 28 MB) larger than this without a performance
penalty.
Here are some timings:
svn log -r 59504 -v shows that more than 23000 files where changed.
svn log -r 59504 --limit 1 https://<Repo> tooks 1:11
svn log -r 59503 --limit 1 https://<REPO> tooks only 300 ms
svn log -r 172 --limit 1 https://<REPO> tooks only 1 sec []
I have not very deep background in svn source or repository format, but I
cannot understand why this performance breaks down so badly:
In Revisionfiles there is always an byteoffset(?) to the previous node, so
there should be a simple FILE_SEEK should find the appropriate place.
It looks for me, that svn looks through all revisions and checks all paths
in a revision file or something else..On some other Revisionfiles which
are larger than my special
Rev 59504 the svn log performs faster(example Rev 172 changes only 210
Files )
Another point is that for a simple log without "--verbose"-option I just
need a small part of the revision file (Author, Revision, Date and
Logmessage).
But svn log is always equally slow, regardless if I need this data or not.
If you change all files in a large repository(e.g set/change a property to
all files), it is nearly impossible to browse the history.
Can I do anything to avoid this performance penalty?
I used svn, version 1.4.3 (r23084)
Thanx and greetings,
Lutz
----------------------------------------------------------------------------------------------------------------------------------------------
FIDUCIA IT AG
Fiduciastraße 20
76227 Karlsruhe
Sitz der Gesellschaft: Karlsruhe
AG Mannheim HRB 100059
Vorsitzender des Aufsichtsrats: Erwin Kuhn
Vorsitzender des Vorstands: Michael Krings
Vorstand: Klaus-Peter Bruns, Hans-Peter Straberger, Eckhardt Werner
Umsatzsteuer-ID.Nr. DE143582320, http://www.fiducia.de
----------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Mon Sep 24 17:33:12 2007