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