You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Kylo Ginsberg <ky...@gmail.com> on 2007/04/19 02:14:38 UTC
Copy of a partial tree?
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
Re: Copy of a partial tree?
Posted by Kylo Ginsberg <ky...@gmail.com>.
On 4/19/07, David Glasser <gl...@mit.edu> wrote:
> On 4/19/07, C. Michael Pilato <cm...@collab.net> wrote:
> > If you wish to create a sparse copy, you can still use sparse-directories to
> > assist in this, but it takes just a little more effort. (You need to do a
> > full checkout of the pieces you want to keep, with a depth-zero checkout of
> > any "limbs" you wish to "prune"; schedule those to-be-pruned limbs for
> > deletion, then do a wc-to-repos copy.) Or, ask Karl points out, you can use
> > MUCC, issuing the copy + all the pruning deletions you need in a single
> > transaction.
>
> Does the current implementation give an interface to "schedule those
> to-be-pruned limbs for deletion"?
Ah yes, if there was a single operation to accomplish that, then the
sparse copy becomes a simple two-step operation: mark all to-be-pruned
limbs for deletion, then issue the wc->url copy. I don't see that in
the notes on sparse support, however.
Kylo
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: Copy of a partial tree?
Posted by Kylo Ginsberg <ky...@gmail.com>.
On 4/19/07, David Glasser <gl...@mit.edu> wrote:
> On 4/19/07, C. Michael Pilato <cm...@collab.net> wrote:
> > If you wish to create a sparse copy, you can still use sparse-directories to
> > assist in this, but it takes just a little more effort. (You need to do a
> > full checkout of the pieces you want to keep, with a depth-zero checkout of
> > any "limbs" you wish to "prune"; schedule those to-be-pruned limbs for
> > deletion, then do a wc-to-repos copy.) Or, ask Karl points out, you can use
> > MUCC, issuing the copy + all the pruning deletions you need in a single
> > transaction.
>
> Does the current implementation give an interface to "schedule those
> to-be-pruned limbs for deletion"?
Ah yes, if there was a single operation to accomplish that, then the
sparse copy becomes a simple two-step operation: mark all to-be-pruned
limbs for deletion, then issue the wc->url copy. I don't see that in
the notes on sparse support, however.
Kylo
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Copy of a partial tree?
Posted by David Glasser <gl...@mit.edu>.
On 4/21/07, Peter Samuelson <pe...@p12n.org> wrote:
> [David Glasser]
> > Ah, right. The depth-zero directories are actually there (and can be
> > targetted by "svn delete").
>
> But, uh, I thought the normal use for sparse dirs was more like:
>
> svn co --depth=empty {URL}/A
> svn up --depth=infinity A/B A/C A/D
>
> ...i.e., I want to have directory A present but only certain files or
> subdirs of A: B, C, and D. If I do that, how am I supposed to schedule
> everything else inside A for deletion before the copy?
Oh right! I knew there was some reason I was confused! This was the
situation I was imagining.
--dave
--
David Glasser | glasser@mit.edu | http://www.davidglasser.net/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: Copy of a partial tree?
Posted by Peter Samuelson <pe...@p12n.org>.
[David Glasser]
> Ah, right. The depth-zero directories are actually there (and can be
> targetted by "svn delete").
But, uh, I thought the normal use for sparse dirs was more like:
svn co --depth=empty {URL}/A
svn up --depth=infinity A/B A/C A/D
...i.e., I want to have directory A present but only certain files or
subdirs of A: B, C, and D. If I do that, how am I supposed to schedule
everything else inside A for deletion before the copy?
I think it would be useful to allow 'svn cp . {URL}' to snapshot the
true state of the WC, just as it does if part of the WC has been
switched.
Re: Copy of a partial tree?
Posted by David Glasser <gl...@mit.edu>.
On 4/19/07, C. Michael Pilato <cm...@collab.net> wrote:
> David Glasser wrote:
> > Does the current implementation give an interface to "schedule those
> > to-be-pruned limbs for deletion"?
>
> I should hope so. If my understanding of the sparse directories feature
> isn't way off-base, you should be able to build a working copy that has all
> the stuff you want, plus files and depth-zero directories you don't want.
> Then you'd use 'svn delete' on those files and depth-zero directories you
> don't want.
Ah, right. The depth-zero directories are actually there (and can be
targetted by "svn delete").
--dave
--
David Glasser | glasser@mit.edu | http://www.davidglasser.net/
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Copy of a partial tree?
Posted by David Glasser <gl...@mit.edu>.
On 4/19/07, C. Michael Pilato <cm...@collab.net> wrote:
> David Glasser wrote:
> > Does the current implementation give an interface to "schedule those
> > to-be-pruned limbs for deletion"?
>
> I should hope so. If my understanding of the sparse directories feature
> isn't way off-base, you should be able to build a working copy that has all
> the stuff you want, plus files and depth-zero directories you don't want.
> Then you'd use 'svn delete' on those files and depth-zero directories you
> don't want.
Ah, right. The depth-zero directories are actually there (and can be
targetted by "svn delete").
--dave
--
David Glasser | glasser@mit.edu | http://www.davidglasser.net/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: Copy of a partial tree?
Posted by "C. Michael Pilato" <cm...@collab.net>.
David Glasser wrote:
> On 4/19/07, C. Michael Pilato <cm...@collab.net> wrote:
>> If you wish to create a sparse copy, you can still use
>> sparse-directories to
>> assist in this, but it takes just a little more effort. (You need to
>> do a
>> full checkout of the pieces you want to keep, with a depth-zero
>> checkout of
>> any "limbs" you wish to "prune"; schedule those to-be-pruned limbs for
>> deletion, then do a wc-to-repos copy.) Or, ask Karl points out, you
>> can use
>> MUCC, issuing the copy + all the pruning deletions you need in a single
>> transaction.
>
> Does the current implementation give an interface to "schedule those
> to-be-pruned limbs for deletion"?
I should hope so. If my understanding of the sparse directories feature
isn't way off-base, you should be able to build a working copy that has all
the stuff you want, plus files and depth-zero directories you don't want.
Then you'd use 'svn delete' on those files and depth-zero directories you
don't want.
I admit that I'm talking from theory rather than actuality, though.
--
C. Michael Pilato <cm...@collab.net>
CollabNet <> www.collab.net <> Distributed Development On Demand
Re: Copy of a partial tree?
Posted by "C. Michael Pilato" <cm...@collab.net>.
David Glasser wrote:
> On 4/19/07, C. Michael Pilato <cm...@collab.net> wrote:
>> If you wish to create a sparse copy, you can still use
>> sparse-directories to
>> assist in this, but it takes just a little more effort. (You need to
>> do a
>> full checkout of the pieces you want to keep, with a depth-zero
>> checkout of
>> any "limbs" you wish to "prune"; schedule those to-be-pruned limbs for
>> deletion, then do a wc-to-repos copy.) Or, ask Karl points out, you
>> can use
>> MUCC, issuing the copy + all the pruning deletions you need in a single
>> transaction.
>
> Does the current implementation give an interface to "schedule those
> to-be-pruned limbs for deletion"?
I should hope so. If my understanding of the sparse directories feature
isn't way off-base, you should be able to build a working copy that has all
the stuff you want, plus files and depth-zero directories you don't want.
Then you'd use 'svn delete' on those files and depth-zero directories you
don't want.
I admit that I'm talking from theory rather than actuality, though.
--
C. Michael Pilato <cm...@collab.net>
CollabNet <> www.collab.net <> Distributed Development On Demand
Re: Copy of a partial tree?
Posted by Karl Fogel <kf...@red-bean.com>.
"David Glasser" <gl...@mit.edu> writes:
> On 4/19/07, C. Michael Pilato <cm...@collab.net> wrote:
>> If you wish to create a sparse copy, you can still use sparse-directories to
>> assist in this, but it takes just a little more effort. (You need to do a
>> full checkout of the pieces you want to keep, with a depth-zero checkout of
>> any "limbs" you wish to "prune"; schedule those to-be-pruned limbs for
>> deletion, then do a wc-to-repos copy.) Or, ask Karl points out, you can use
>> MUCC, issuing the copy + all the pruning deletions you need in a single
>> transaction.
>
> Does the current implementation give an interface to "schedule those
> to-be-pruned limbs for deletion"?
Could you ask that in more words? I didn't quite understand...
Thanks,
-K
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: Copy of a partial tree?
Posted by Karl Fogel <kf...@red-bean.com>.
"David Glasser" <gl...@mit.edu> writes:
> On 4/19/07, C. Michael Pilato <cm...@collab.net> wrote:
>> If you wish to create a sparse copy, you can still use sparse-directories to
>> assist in this, but it takes just a little more effort. (You need to do a
>> full checkout of the pieces you want to keep, with a depth-zero checkout of
>> any "limbs" you wish to "prune"; schedule those to-be-pruned limbs for
>> deletion, then do a wc-to-repos copy.) Or, ask Karl points out, you can use
>> MUCC, issuing the copy + all the pruning deletions you need in a single
>> transaction.
>
> Does the current implementation give an interface to "schedule those
> to-be-pruned limbs for deletion"?
Could you ask that in more words? I didn't quite understand...
Thanks,
-K
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Copy of a partial tree?
Posted by David Glasser <gl...@mit.edu>.
On 4/19/07, C. Michael Pilato <cm...@collab.net> wrote:
> If you wish to create a sparse copy, you can still use sparse-directories to
> assist in this, but it takes just a little more effort. (You need to do a
> full checkout of the pieces you want to keep, with a depth-zero checkout of
> any "limbs" you wish to "prune"; schedule those to-be-pruned limbs for
> deletion, then do a wc-to-repos copy.) Or, ask Karl points out, you can use
> MUCC, issuing the copy + all the pruning deletions you need in a single
> transaction.
Does the current implementation give an interface to "schedule those
to-be-pruned limbs for deletion"?
--dave
--
David Glasser | glasser@mit.edu | http://www.davidglasser.net/
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Copy of a partial tree?
Posted by David Glasser <gl...@mit.edu>.
On 4/19/07, C. Michael Pilato <cm...@collab.net> wrote:
> If you wish to create a sparse copy, you can still use sparse-directories to
> assist in this, but it takes just a little more effort. (You need to do a
> full checkout of the pieces you want to keep, with a depth-zero checkout of
> any "limbs" you wish to "prune"; schedule those to-be-pruned limbs for
> deletion, then do a wc-to-repos copy.) Or, ask Karl points out, you can use
> MUCC, issuing the copy + all the pruning deletions you need in a single
> transaction.
Does the current implementation give an interface to "schedule those
to-be-pruned limbs for deletion"?
--dave
--
David Glasser | glasser@mit.edu | http://www.davidglasser.net/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: Copy of a partial tree?
Posted by "C. Michael Pilato" <cm...@collab.net>.
Karl Fogel wrote:
> Kyle,
>
> 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.
I agree with this definition of what sparse-directories is and should be.
If you wish to create a sparse copy, you can still use sparse-directories to
assist in this, but it takes just a little more effort. (You need to do a
full checkout of the pieces you want to keep, with a depth-zero checkout of
any "limbs" you wish to "prune"; schedule those to-be-pruned limbs for
deletion, then do a wc-to-repos copy.) Or, ask Karl points out, you can use
MUCC, issuing the copy + all the pruning deletions you need in a single
transaction.
--
C. Michael Pilato <cm...@collab.net>
CollabNet <> www.collab.net <> Distributed Development On Demand
Re: Copy of a partial tree?
Posted by "C. Michael Pilato" <cm...@collab.net>.
Karl Fogel wrote:
> Kyle,
>
> 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.
I agree with this definition of what sparse-directories is and should be.
If you wish to create a sparse copy, you can still use sparse-directories to
assist in this, but it takes just a little more effort. (You need to do a
full checkout of the pieces you want to keep, with a depth-zero checkout of
any "limbs" you wish to "prune"; schedule those to-be-pruned limbs for
deletion, then do a wc-to-repos copy.) Or, ask Karl points out, you can use
MUCC, issuing the copy + all the pruning deletions you need in a single
transaction.
--
C. Michael Pilato <cm...@collab.net>
CollabNet <> www.collab.net <> Distributed Development On Demand
Re: Copy of a partial tree?
Posted by Kylo Ginsberg <ky...@gmail.com>.
On 4/19/07, Karl Fogel <kf...@red-bean.com> wrote:
> 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.
That makes sense as far as it goes, but I would argue that making
something permanent to share with others (whether with branch or tag
use in mind) is a very valuable form of inter-developer communication.
> 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.
Which would be precisely the desired effect.
> 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 I suggested above, it seems very valuable and powerful to be able
to easily produce a sparse copy for sharing with fellow developers.
One example:
A large team has a trunk with, say, 100 different libraries, 100
different 3rd party components, etc. A new project/feature comes
along and is envisioned as using a handful of each of these, so a lead
developer constructs a sparse WC to pick out the right libs and so
forth, then just issues an "svn copy . <url for new branch>" and then
communicates the new branch url as the site for future work on said
project.
Is this scriptable without "sparse copies"? Sure, and for that matter
the construction of the initial "sparse" WC is largely scriptable
today with a mix of regular/non-recursive updates (1.4.3). But if the
tools make it easier, it gets done more, used more creatively, etc.
So consider that a plug for the value of copying a sparse tree. That
said, I may be missing the primary intent for sparse trees, and I'm
certain I'm missing the implementation implications.
Thanks,
Kylo
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Copy of a partial tree?
Posted by Kylo Ginsberg <ky...@gmail.com>.
On 4/19/07, Karl Fogel <kf...@red-bean.com> wrote:
> 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.
That makes sense as far as it goes, but I would argue that making
something permanent to share with others (whether with branch or tag
use in mind) is a very valuable form of inter-developer communication.
> 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.
Which would be precisely the desired effect.
> 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 I suggested above, it seems very valuable and powerful to be able
to easily produce a sparse copy for sharing with fellow developers.
One example:
A large team has a trunk with, say, 100 different libraries, 100
different 3rd party components, etc. A new project/feature comes
along and is envisioned as using a handful of each of these, so a lead
developer constructs a sparse WC to pick out the right libs and so
forth, then just issues an "svn copy . <url for new branch>" and then
communicates the new branch url as the site for future work on said
project.
Is this scriptable without "sparse copies"? Sure, and for that matter
the construction of the initial "sparse" WC is largely scriptable
today with a mix of regular/non-recursive updates (1.4.3). But if the
tools make it easier, it gets done more, used more creatively, etc.
So consider that a plug for the value of copying a sparse tree. That
said, I may be missing the primary intent for sparse trees, and I'm
certain I'm missing the implementation implications.
Thanks,
Kylo
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: Copy of a partial tree?
Posted by Karl Fogel <kf...@red-bean.com>.
Kyle,
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?
-Karl
"Kylo Ginsberg" <ky...@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
Re: Copy of a partial tree?
Posted by Karl Fogel <kf...@red-bean.com>.
Kyle,
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?
-Karl
"Kylo Ginsberg" <ky...@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: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org