Subversion problems

Kevin Puetz puetzk at puetzk.org
Fri Feb 18 14:38:13 GMT 2005


Andras Mantia wrote:

> On Friday 18 February 2005 13:07, Thiago Macieira wrote:
>> Unfortunately, Subversion's WC (Working Copy) directory is at least
>> the double of the code checkout. So, the "state tarball" as you call
>> it would be as large as the checkout itself.
> 
> You mean that if my kdelibs CVS checkout now is 70 MB (including the
> generated files with make -f Makefile.cvs and the CVS directories), now
> the same checkout from svn will be around the double? And actually I
> need to download several (1-1.5) GB to have the kde modules checked
> out? Now those without kde-i18n, kdeextragear* and with qt-copy are
> ~800MB, that I obtained the same way (converted a checkout from an
> anonymous mirror that I get from somebody and did cvs update during the
> last years).

This is correct. now, the amount downloaded to *do* a checkout won't double
(in fact, it might be smaller, since svn's compression is pretty good). But
svn keeps local copies of the pristine plaintexts, which allows status,
revert, diff (against the base revision), and probably some others to be
local-only operations, and lets commit send diffs instead of fulltext. It's
a trade of WC size to increase the speed of common operations and reduce
network bandwidth usage.

> Getting again them directly with a checkout will be a pain. In the best
> case I can download ~3-400MB a month from home, and even at the other
> place I have only a 64-128kbps access. I cannot stay there several days
> to wait for a checkout, but I could ask somebody to start the downloads
> and I go there and get them, but those somebody will not use Linux,
> this is why would be better to have tarballs that can be downloaded.
> And of course usually getting a big file is faster than getting
> thousands of small files.
> 
>> So there would be, effectively, no difference between checking out
>> from Subversion, or downloading a tarball consisting of .svn
>> directories only.
> 
> I'd ask for a tarball that contains the code and the svn directories
> from an anonymous svn checkout  if the svn directories can be updated
> to match my account. This way even the larger tarballs could be
> downloaded with time.

Note that naïvely making a tarball of this sort, it's going to be twice as
big as necessary since it contains two copies of each file. I suppose one
could instead make a tarball of *only* the .svn directories, and then you'd
have to run revert in each folder, whereupon svn would restore the "removed
but not committed" file from the text-base :-).

> I don't know how it is with other developers, but I don't think I'm the
> only one who still doesn't have broadband internet access.

Right, and those without always-online fast network connections probably
stand to benefit the most from status/diff/revert/etc all being local
operations :-)

> Andras






More information about the kde-core-devel mailing list