You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by "Mark E. Hamilton" <mh...@sandia.gov> on 2008/04/08 17:26:14 UTC

svn 1.5 sparse checkout question

Hi,

Is this the appropriate venue for asking svn/1.5 questions? If not, 
please let me know.

IAE, I'm testing svn/1.5beta2, since we need the sparse checkouts 
feature.  I do the following:

$ svn checkout --depth=empty svn+ssh://sierra-trac/svnroot/sierra/trunk .
$ svn checkout svn+ssh://sierra-trac/svnroot/sierra/trunk/framework
$ svn checkout svn+ssh://sierra-trac/svnroot/sierra/trunk/utility
$ svn checkout svn+ssh://sierra-trac/svnroot/sierra/trunk/aria
$  ...modify some files and properties...

However, when I do a 'svn status' and 'svn commit' it acts as if my 
working copy is disjoint, and doesn't traverse into the three products I 
checked out:

$ svn status
  M     .
?      utility
?      aria
?      framework

$ svn commit

--This line, and those below, will be ignored--

_M   .

The second to last paragraph in the 'Sparse Directories' section of the 
1.5 manual seems to imply that this should work. Am I doing something 
wrong, or does this not work the way I expect?

-- 
----------------
Mark E. Hamilton
Orion International Technologies, Inc.
Sandia National Laboratory, NM.
505-844-7666



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: svn 1.5 sparse checkout question

Posted by Steven Bakke <st...@amd.com>.
On Apr 8, 2008, at 1:26 PM, Mark E. Hamilton wrote:
> Hi,
>
> Is this the appropriate venue for asking svn/1.5 questions? If not,  
> please let me know.
>
> IAE, I'm testing svn/1.5beta2, since we need the sparse checkouts  
> feature.  I do the following:
>
> $ svn checkout --depth=empty svn+ssh://sierra-trac/svnroot/sierra/ 
> trunk .
> $ svn checkout svn+ssh://sierra-trac/svnroot/sierra/trunk/framework
> $ svn checkout svn+ssh://sierra-trac/svnroot/sierra/trunk/utility
> $ svn checkout svn+ssh://sierra-trac/svnroot/sierra/trunk/aria
> $  ...modify some files and properties...
>
> However, when I do a 'svn status' and 'svn commit' it acts as if my  
> working copy is disjoint, and doesn't traverse into the three  
> products I checked out:
>
> $ svn status
> M     .
> ?      utility
> ?      aria
> ?      framework
>
> $ svn commit
>
> --This line, and those below, will be ignored--
>
> _M   .
>
> The second to last paragraph in the 'Sparse Directories' section of  
> the 1.5 manual seems to imply that this should work. Am I doing  
> something wrong, or does this not work the way I expect?
>

With the exception of your first checkout command having "-- 
depth=empty", this sounds exactly like the behavior I've observed with  
subversion 1.4 and earlier.

-Steve





---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: svn 1.5 sparse checkout question

Posted by John Mylius <my...@pasemi.com>.
>>
>> The checkout part is wrong.  You want to do this:
>>
>> $ svn checkout --depth=empty svn+ssh://sierra-trac/svnroot/sierra/ 
>> trunk .
>> $ svn update --set-depth=infinity  framework
>> $ svn update --set-depth=immediates utility
>> $ svn update --set-depth=infinity aria
>>
>> Note that I simply mixed the usage of infinity and immediates to show
>> that you can do something like that.
>
>
> I'm curious - why does checkout behave this way?  I encountered this  
> early on when I
> first began using subversion since I used to be a CVS user. Why  
> doesn't it just behave
> like an update with depth set to infinity?  I can't see a realistic  
> usage model where
> somebody would want to do an unrelated checkout into a subdirectory 
> of  an existing
> working copy.
>
I'm curious as well.  In testing 1.5 I stumbled on the same issue since 
I'm used to building a cvs sparse dir using 'cvs checkout'.  Now that 
I've retrained my habits its not a big deal. Maybe a future rev could 
address this?

John



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: svn 1.5 sparse checkout question

Posted by Steven Bakke <st...@amd.com>.
On Apr 8, 2008, at 2:00 PM, Mark Phippard wrote:
> On Tue, Apr 8, 2008 at 1:26 PM, Mark E. Hamilton  
> <mh...@sandia.gov> wrote:
>
>> Is this the appropriate venue for asking svn/1.5 questions? If not,  
>> please
>> let me know.
>
> This is the place to ask.
>
>> IAE, I'm testing svn/1.5beta2, since we need the sparse checkouts  
>> feature.
>> I do the following:
>>
>> $ svn checkout --depth=empty svn+ssh://sierra-trac/svnroot/sierra/ 
>> trunk .
>> $ svn checkout svn+ssh://sierra-trac/svnroot/sierra/trunk/framework
>> $ svn checkout svn+ssh://sierra-trac/svnroot/sierra/trunk/utility
>> $ svn checkout svn+ssh://sierra-trac/svnroot/sierra/trunk/aria
>> $  ...modify some files and properties...
>>
>> However, when I do a 'svn status' and 'svn commit' it acts as if my  
>> working
>> copy is disjoint, and doesn't traverse into the three products I  
>> checked
>> out:
>
> The checkout part is wrong.  You want to do this:
>
> $ svn checkout --depth=empty svn+ssh://sierra-trac/svnroot/sierra/ 
> trunk .
> $ svn update --set-depth=infinity  framework
> $ svn update --set-depth=immediates utility
> $ svn update --set-depth=infinity aria
>
> Note that I simply mixed the usage of infinity and immediates to show
> that you can do something like that.

I'm curious - why does checkout behave this way?  I encountered this  
early on when I
first began using subversion since I used to be a CVS user. Why  
doesn't it just behave
like an update with depth set to infinity?  I can't see a realistic  
usage model where
somebody would want to do an unrelated checkout into a subdirectory of  
an existing
working copy.

>
>
> -- 
> Thanks
>
> Mark Phippard
> http://markphip.blogspot.com/
>
> ---------------------------------------------------------------------
> 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

Re: svn 1.5 sparse checkout question

Posted by eg <eg...@gmail.com>.
Mark Phippard wrote:

> Note that in 1.5 there is no UI to decrease the depth of
> something.
> 

But there are some workarounds to achieve this effect outlined in:

http://subversion.tigris.org/issues/show_bug.cgi?id=2843




---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: svn 1.5 sparse checkout question

Posted by Mark Phippard <ma...@gmail.com>.
On Tue, Apr 8, 2008 at 4:02 PM, Mark E. Hamilton <mh...@sandia.gov> wrote:
> Mark Phippard wrote:
>
> > The checkout part is wrong.  You want to do this:
> >
> > $ svn checkout --depth=empty svn+ssh://sierra-trac/svnroot/sierra/trunk .
> > $ svn update --set-depth=infinity  framework
> > $ svn update --set-depth=immediates utility
> > $ svn update --set-depth=infinity aria
> >
> > Note that I simply mixed the usage of infinity and immediates to show
> > that you can do something like that.
> >
>
>  Okay, thanks. I don't know why I assumed that 'svn checkout' could be used
> for the products; reviewing the documentation does clearly show 'svn
> update'.
>
>  Is the --set-depth=infinity necessary, or is is the default? I did an
> update with and without it, and in both cases it checked out the entire
> hierarchy.

It is possible that it is a special case when the item does not
already exist in the WC.  Suppose the original checkout had been
--depth=immediates instead of empty.  This would have brought in each
of the sub-folders as depth=empty folders beneath the parent.  In that
case, an svn update on the folder does not change the depth.  So you
need to use --set-depth whenever you want to expand the depth of
something.  Note that in 1.5 there is no UI to decrease the depth of
something.

-- 
Thanks

Mark Phippard
http://markphip.blogspot.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: svn 1.5 sparse checkout question

Posted by "Mark E. Hamilton" <mh...@sandia.gov>.
Mark Phippard wrote:
> The checkout part is wrong.  You want to do this:
> 
> $ svn checkout --depth=empty svn+ssh://sierra-trac/svnroot/sierra/trunk .
> $ svn update --set-depth=infinity  framework
> $ svn update --set-depth=immediates utility
> $ svn update --set-depth=infinity aria
> 
> Note that I simply mixed the usage of infinity and immediates to show
> that you can do something like that.

Okay, thanks. I don't know why I assumed that 'svn checkout' could be 
used for the products; reviewing the documentation does clearly show 
'svn update'.

Is the --set-depth=infinity necessary, or is is the default? I did an 
update with and without it, and in both cases it checked out the entire 
hierarchy.

-- 
----------------
Mark E. Hamilton
Orion International Technologies, Inc.
Sandia National Laboratory, NM.
505-844-7666


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: svn 1.5 sparse checkout question

Posted by Mark Phippard <ma...@gmail.com>.
On Tue, Apr 8, 2008 at 1:26 PM, Mark E. Hamilton <mh...@sandia.gov> wrote:

>  Is this the appropriate venue for asking svn/1.5 questions? If not, please
> let me know.

This is the place to ask.

>  IAE, I'm testing svn/1.5beta2, since we need the sparse checkouts feature.
> I do the following:
>
>  $ svn checkout --depth=empty svn+ssh://sierra-trac/svnroot/sierra/trunk .
>  $ svn checkout svn+ssh://sierra-trac/svnroot/sierra/trunk/framework
>  $ svn checkout svn+ssh://sierra-trac/svnroot/sierra/trunk/utility
>  $ svn checkout svn+ssh://sierra-trac/svnroot/sierra/trunk/aria
>  $  ...modify some files and properties...
>
>  However, when I do a 'svn status' and 'svn commit' it acts as if my working
> copy is disjoint, and doesn't traverse into the three products I checked
> out:

The checkout part is wrong.  You want to do this:

$ svn checkout --depth=empty svn+ssh://sierra-trac/svnroot/sierra/trunk .
$ svn update --set-depth=infinity  framework
$ svn update --set-depth=immediates utility
$ svn update --set-depth=infinity aria

Note that I simply mixed the usage of infinity and immediates to show
that you can do something like that.

-- 
Thanks

Mark Phippard
http://markphip.blogspot.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org