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

Re: Size comparison repository - working copy

From: Ryan Schmidt <subversion-2007b_at_ryandesign.com>
Date: Tue, 8 Jan 2008 03:05:01 -0600

On Jan 8, 2008, at 02:57, gec9_at_swissonline.ch wrote:

> The directory containing my SVN repository has 1.5 GB but after
> checkout the directory with the working copy has 18 GB! How can it
> be?! I was thinking that the repository and the working copy have
> roughly the same size.

There's no reason the size of the working copy needs to directly
relate to the size of the repository.

For one thing, the working copy contains two copies of every file: a
pristine copy inside the text-base directory in the .svn directory,
and then the normal copy that you might modify. This enables
Subversion to determine what you changed without having to contact
the server.

For another thing, you might have copied things in the repository.
For example, if you have a 1GB directory that you committed to the
repository, and then you used "svn cp" to copy this directory to
another directory, the new copy occupies virtually no space in the
repository. It just stores the fact that it was copied from these
other files in that other revision. But if you check out, you'll get
all 2GB (plus another 2GB of pristine files tucked away in .svn).

So, it's not hard for your working copy to be larger than your
repository. The opposite is also easy -- commit lots of files, then
delete them. They're still stored in the repository, but you won't
get them if you just check out the HEAD.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
Received on 2008-01-08 10:05:58 CET

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.