You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by ju...@cox.net on 2003/06/03 00:26:58 UTC
When does svn co -N make sense?
Please bear with some background before my real question.
I have three projects a, b, and c under /trunk/ of my
repository, and I want to take only project a and c to my laptop
to work on road. I am not taking b because I do not intend to
work on it right now, but I want to be able to 'svn update' once
I am back and finished synching changes to a and/or c. Also
maybe I am short of disk space on my laptop.
I could do this:
laptop$ svn co http://server/svn/trunk/ .
laptop$ rm -fr b
laptop$ ls
./ ../ .svn/ a/ c/
laptop$ svn st
! b
and later I could run "svn update b" to get it back.
But this forces me to check out 'b', which could be huge, first.
Which I may want to avoid.
I could do:
laptop$ svn co http://server/svn/trunk/a a
laptop$ svn co http://server/svn/trunk/c c
laptop$ ls
./ ../ a/ c/
But this does not let me say "svn st" to remind me that I have
"b" under the trunk which I am not taking with me.
Now the real question.
I thought I could do the following to achieve what I want
without first checking out everything under trunk/, but that
does not seem to be the case:
laptop$ svn co -N http://server/svn/trunk/ .
laptop$ svn co http://server/svn/trunk/a a
laptop$ svn co http://server/svn/trunk/c c
laptop$ ls
./ ../ .svn/ a/ c/
laptop$ svn st
? a
? c
I am reading this output as "the directory (trunk) checked out
with -N does not know anything what is underneath".
Is there way to make this behave better (the definition of
better being "as if I checked out everything and then removed
subtree b")?
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: When does svn co -N make sense?
Posted by ju...@cox.net.
[The example situation is that there are projects a, b, and c
under /trunk/ of the repository, and the user does not want to
check everything out at the same time.]
What would look natural to me but is *not* the way svn seem to
work now is:
laptop$ svn ls http://server/svn/trunk/
a/
b/
c/
laptop$ svn co -N http://server/svn/trunk/ .
laptop$ ls -aF
. ../ .svn/
laptop$ svn update a
laptop$ ls -aF
./ ../ .svn/ a/
laptop$ svn update c
laptop$ ls -aF
./ ../ .svn/ a/ c/
laptop$ svn st
! b
Specifically, since the working copy checked out with -N does
not seem to know that it has a, b, c directotires as its
children, "svn update a" does not update from trunk/a, nor "svn
st" does not say b is missing.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org