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

Partial Checkout feature request.

From: Michael Marcin <mike_at_mikemarcin.com>
Date: 2006-09-26 00:27:43 CEST


My company has been using svnserve+tortoisesvn for version control for a
while now.

Our repository is pretty large with code, compiled assets, and source
assets and it takes a while to do a fresh checkout and a lot of disk space.

Say our subversion is layout is like below:


Where A/ B/ and C/ are each fairly large (say 100MB+)

1/3 of the people at our company need only A/
1/3 of the people need only B/ and C/
and the rest need either all of trunk/ or some combination of its children.

The first thing we did was just to have everyone get trunk and be done
with it. This causes a lot of unnecessary time and space overhead
especially when people have to work from off site. After many
complaints we decided to find an alternative.

The next thing we tried was to have every combination we could imagine
on the repository via external links. So someone would check out
something like trunk/BandC/ which would get trunk/B/ and trunk/C/. This
actually worked more or less until someone wanted to branch. To make a
branch they had to svn copy, checkout everything, and fix all the
external links to point to the branch copy... what a pain in the ass.
It also had the problem that a few people want to checkout the entire
repository including all tags and branches this added a lot of extra
disk space usage for them.

So the next thing we tried was to have everyone checkout exactly what
they needed with several checkouts into the same directory. i.e. they
would checkout trunk/B/ and checkout trunk/C/ to c:/trunk. Then
highlight all folders in c:/trunk to do updates and commits. This
however means that if there is a change to trunk/B/ and trunk/C/ at the
same time the revision number is incremented once for each folder they
checkout This makes seeing what changed in updates and going back to
old versions very difficult.

So the next thing we tried was to do a top level only checkout on trunk/
and then hand edit the trunk/.svn/entries file to include the
directories we wanted. This essentially gave us everything we wanted at
the expense of leaving the GUI and using notepad. However this latest
update to subversion changes the format of the entries file. The
upgraded entries files work just fine but I haven't been able to create
one that works from scratch yet which basically means our solution no
longer works.

So what I ask for is a way to do this via the tortoise gui. I had in
mind either ctrl+click or check boxes next to the children you would
like to get from the repository. I.E. you would select "SVN
Checkout..." browse to trunk/ and then highlight B/ and then also C/
(with ctrl+click) then click OK which would checkout trunk/ with only B/
and C/ into its entries file.

The other option I can think of is doing top level checkout on trunk\
and then some sort of "SVN Add to Working Copy" which would allow you to
select any children of trunk/ in the repository to add to your entries file.


Michael Marcin

To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
Received on Tue Sep 26 06:51:35 2006

This is an archived mail posted to the TortoiseSVN Dev mailing list.

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