[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Should I Use Subversion?

From: John Waycott <javajohn_at_cox.net>
Date: Mon, 15 Jun 2009 06:54:48 -0700

On Jun 15, 2009, at 12:52 AM, markw wrote:

> I use Subversion, linked into JIRA & FishEye, and everything is
> good. I have received a request not linked to SCM to store large
> binary/mixed files (think Visual Studio). To maintain performance I
> do not want to use this installation of Subversion, but was thinking
> is another instance of Subversion appropriate. So I guess my
> questions are: -
>
> 1. What is the performance profile for Subversion when versioning
> large binary/mixed files?
>
Our experience is that SVN is reasonably fast when copying large files
but not as fast as we'd like. We have experienced network timeouts
with SVN checkout of large files over very flaky networks. FTP did not
seem to have the same issues and ran about twice as fast over flaky
networks.

> 2. What is the largest file a repository can hold?
I heard the limit is 2GB, but that may be an APR limitation and may no
longer be a problem. We have a few files over 200MB in one of our
repositories and have had no problems due to file size.
>
> 3. Am I correct in thinking that if someone SVN:Externals between
> the two instances the only loading will be on the client?
>
The server still has to give the file to the client, but it won't be
making a local copy on the server.

> 4. Would it be better to just put them on a network share?
>
I would say from our experience, yes. We did not have a good network
share and used SVN for storing binaries.

Here are the issues we've encountered with storing binaries in SVN:

- The larger the repository, the longer it can take to do
administrative functions. If you do get a corruption, you may have a
difficult time fixing a 40 GB repository.

- Running an svndump/svndumpfilter to remove old releases you no
longer need is not really practical on very large repositories. A
network store is a better place for these items. We've had cases where
we had to do completely remove data for legal reasons. If we had to do
so on a large binary repository, it could be down for most of the day.

- In most cases, it makes no sense to check out binary files from SVN
when what you really want to do is export them. There is no way to
tell svn:externals to only export certain items. You end up with two
copies in your WC and checkouts of lots of data can take a long time.

- The only real disadvantage I see with network stores is a lack of
consistency for the developers; they have to get some files from the
network, some from SVN. A reasonable build script and release and
build standard can help resolve that issue, though.

-- John

> Particularly interested to hear about similar experiences.
>
> Thanks
> Mark
>
> ------------------------------------------------------
> http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2362067
>
> To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_subversion.tigris.org
> ].

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2362180

To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_subversion.tigris.org].
Received on 2009-06-15 15:55:46 CEST

This is an archived mail posted to the Subversion Users mailing list.