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

Re: Copy of a partial tree?

From: Karl Fogel <kfogel_at_red-bean.com>
Date: 2007-04-20 00:10:02 CEST


I'm CC'ing the dev@ list here because I think the others working on
sparse-directories should see this response. You raise an interesting
question (see "Longer term" below folks), and although my initial
instinct is that this shouldn't be part of sparse-directories support,
I'd like to see what others think.

Sparse-directories is purely a matter of client-side arrangement.
It's about controlling the size and shape of the working copy a
particular user deals with, not about making that sparse tree a
permanently versioned object to share with others. For example, right
now in a sparse working copy, 'svn update --depth=infinity' should
expand it so it won't be sparse anymore. But if you made a sparse
copy, and someone else checked it out, then a depth=infinity update
wouldn't have that effect in the checked-out copy.

Anyway, that's my opinion right now... if people have arguments why
sparse copying is important, let's hear 'em. Note that it could
always be added in a later release; it doesn't have to be on the same
schedule as sparse directories itself.

As for solutions to your situation: check out the mucc client, which
allows you to script multiple tree operations in one commit?


"Kylo Ginsberg" <kylo.ginsberg@gmail.com> writes:
> Background:
> We've been coming up with support for cvs-like modules functionality
> (roughly speaking: sparse directories) by virtue of a pair of scripts:
> the first will checkout a "module" by doing a non-recursive checkout
> of (say) /trunk, followed by non-recursive updates at intermediate
> levels as needed, then normal (i.e.recursive) updates from there on
> down.
> A second script can be used to update a WC checked out with the first
> by following breadcrumbs (files in .svn directories) left by the first
> script, so that it can reproduce the pattern of non-recursive vs.
> normal updates needed. Hope that makes sense. ( can include a fuller
> example if that will help.
> Problem:
> If I take such a WC, and do a "svn copy . <URL>", the resultant copy
> has *all* of /trunk, not just the partial tree I had extracted. I can
> understand why this is, so my thought was to have a 3rd script that
> follows the same bread crumbs but does svn copy operations.
> Unfortunately (I just noticed) svn copy does not have a non-recursive
> option. So...
> Short-term solution:
> I'm now thinking this copy-partial-tree script should cook up a second
> WC recreating directory structure where needed, and issuing WC->WC
> copies where needed. Does anyone have better ideas or foresee
> problems with this approach?
> Longer term:
> I'm eagerly awaiting sparse directory support which (I think) will
> make all this easier. However, I see that the notes here:
> http://svn.collab.net/repos/svn/trunk/notes/sparse-directories.txt
> do not mention the "svn copy" operation (or I missed it). So I'm
> wondering what the intended behavior is for an svn copy of a sparse
> tree?
> Thanks,
> Kylo
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org

To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Apr 19 15:10:42 2007

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

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