You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Ian Brockbank <Ia...@wolfsonmicro.com> on 2008/09/26 09:30:01 UTC

Advisory depth property for sparse directories

Hi,

Is there any sort of advisory depth property for directories so you can set the default level at which that directory is checked out?  Something like 

svn propset svn:depth immediate .

This would then act like svn co --depth=immediate when that directory was checked out, unless a specific depth was specified on the command line.

We have directory trees which contain stuff which is always needed and other stuff which is only needed on occasions, and fairly naïve users (from a Subversion point of view) and we are having a lot of disk space taken up unnecessarily by complete trees being checked out.  It would be good for the experts to be able to say "this is stuff we always need, this stuff should only be checked out if explicitly needed" and avoid the users having to worry about building their tree.  It would also help with checkouts where different directory hierarchies need to be checked out to different levels - doing it by hand, we have to check out the top level to the minimum needed by any of the sub-directories, then go into each subdirectory and update those to the relevant level and recurse until we have the right structure.

Cheers,

Ian Brockbank
Principal Applications Software Engineer
e: ian.brockbank@wolfsonmicro.com / apps@wolfsonmicro.com
scd: ian@scottishdance.net
t: +44 131 272 7145
** I am running the Great North Run for my disabled nephew Matthew.  Please sponsor me at www.justgiving.com/ianbrockbank **


Privacy & Confidentiality Notice
-------------------------------------------------
This message and any attachments contain privileged and confidential information that is intended solely for the person(s) to whom it is addressed. If you are not an intended recipient you must not: read; copy; distribute; discuss; take any action in or make any reliance upon the contents of this message; nor open or read any attachment. If you have received this message in error, please notify us as soon as possible on the following telephone number and destroy this message including any attachments. Thank you.
-------------------------------------------------
Wolfson Microelectronics plc
Tel: +44 (0)131 272 7000
Fax: +44 (0)131 272 7001
Web: www.wolfsonmicro.com

Registered in Scotland

Company number SC089839

Registered office: 

Westfield House, 26 Westfield Road, Edinburgh, EH11 2QB, UK


RE: Advisory depth property for sparse directories

Posted by Ian Brockbank <Ia...@wolfsonmicro.com>.
Hi Michael,

> I've considered this enhancement in the past, but I usually 
> find myself back
> at "If most folks don't need the deep stuff in the tree, 
> maybe that stuff
> should go live elsewhere in the repository and be explicitly 
> checked out by
> folks that care."  That said, I'm not opposed to this advisory depth
> property idea.

Unfortunately we're constrained by our tools as to the macro
structure of our file tree.  Things have to be in certain
places if they're present.

> I do wonder (aloud, apparently) how we'd implemented such a 
> thing in the
> checkout logic, since we currently do checkouts as one giant 
> negotiation:
> C> "I need a checkout of a tree"; S> "Here ya go" *boom*.  We 
> don't really
> have in place today a way to negotiate at each directory 
> level what the
> server transmits.  I mean, we can kinda do it when we know up 
> front at what
> depth every tree item should be fetched, but we'd need to 
> first crawl the
> whole repository tree looking for advisory depths in order to 
> make use of that.

Hmmm.  Yes, I was sort of wondering that.  Do the directory
properties get sent over with the tree?  If so, it might be
possible to do a naïve implementation along the lines of a 1.5
client with a 1.4 server, where the server just obeys the
depth on the command, and the client does any advisory filtering.
I think this would be acceptable here, certainly as a first pass
- initial checkout is a slow process anyway...

Or maybe I'm talking out of the back of my head - I have only
a cursory familiarity with the protocol.

Cheers,

Ian Brockbank
Principal Applications Software Engineer
e: ian.brockbank@wolfsonmicro.com / apps@wolfsonmicro.com
scd: ian@scottishdance.net
t: +44 131 272 7145
** I am running the Great North Run for my disabled nephew Matthew.  Please sponsor me at www.justgiving.com/ianbrockbank **

Privacy & Confidentiality Notice
-------------------------------------------------
This message and any attachments contain privileged and confidential information that is intended solely for the person(s) to whom it is addressed. If you are not an intended recipient you must not: read; copy; distribute; discuss; take any action in or make any reliance upon the contents of this message; nor open or read any attachment. If you have received this message in error, please notify us as soon as possible on the following telephone number and destroy this message including any attachments. Thank you.
-------------------------------------------------
Wolfson Microelectronics plc
Tel: +44 (0)131 272 7000
Fax: +44 (0)131 272 7001
Web: www.wolfsonmicro.com

Registered in Scotland

Company number SC089839

Registered office: 

Westfield House, 26 Westfield Road, Edinburgh, EH11 2QB, UK


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


Re: Advisory depth property for sparse directories

Posted by "C. Michael Pilato" <cm...@collab.net>.
Benjamin Pflugmann wrote:
> Hi,
> 
> On Fri 2008-09-26 at 09:29:56 -0400, C. Michael Pilato wrote:
>> Ian Brockbank wrote:
>>> Hi,
>>>
>>> Is there any sort of advisory depth property for directories so you can
>>> set the default level at which that directory is checked out?  Something
>>> like
> [...]
>> I've considered this enhancement in the past, but I usually find myself back
>> at "If most folks don't need the deep stuff in the tree, maybe that stuff
>> should go live elsewhere in the repository and be explicitly checked out by
>> folks that care."  That said, I'm not opposed to this advisory depth
>> property idea.

...and in fact, the real feature I think you're looking for here is a more
generic viewspec support, where when checking out you tell your client to
flesh out a working copy as described by some viewspec (and then, if you
want to override the depths later using 'svn update --set-depth', you can).

> A little comment from a bystander: I immediately thought that property
> would probably be nice to have in order to use it on the /tags and
> /branches dirs (and maybe / itself), as accidently checking out all
> there is, is a common beginners error.
> 
> Just thought I mentioned a use case which doesn't question the
> repository layout. (And yes, I realize that use case by itself doesn't
> justify the feature at all.)

This, however, is another useful scenario.  Of course, here again we don't
get the full benefit unless we can implement this in such a way that the
server only sends what the client needs -- a simple client-side filter would
help only in final disk consumption, but wouldn't do a thing for the high
cost of sucking N copies of your project over the wire via a sloppy checkout
of /tags.

-- 
C. Michael Pilato <cm...@collab.net>
CollabNet   <>   www.collab.net   <>   Distributed Development On Demand


Re: Advisory depth property for sparse directories

Posted by Benjamin Pflugmann <be...@pflugmann.de>.
Hi,

On Fri 2008-09-26 at 09:29:56 -0400, C. Michael Pilato wrote:
> Ian Brockbank wrote:
> > Hi,
> > 
> > Is there any sort of advisory depth property for directories so you can
> > set the default level at which that directory is checked out?  Something
> > like
[...]
> I've considered this enhancement in the past, but I usually find myself back
> at "If most folks don't need the deep stuff in the tree, maybe that stuff
> should go live elsewhere in the repository and be explicitly checked out by
> folks that care."  That said, I'm not opposed to this advisory depth
> property idea.

A little comment from a bystander: I immediately thought that property
would probably be nice to have in order to use it on the /tags and
/branches dirs (and maybe / itself), as accidently checking out all
there is, is a common beginners error.

Just thought I mentioned a use case which doesn't question the
repository layout. (And yes, I realize that use case by itself doesn't
justify the feature at all.)

Regards,

	Benjamin.

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

Re: Advisory depth property for sparse directories

Posted by "C. Michael Pilato" <cm...@collab.net>.
Ian Brockbank wrote:
> Hi,
> 
> Is there any sort of advisory depth property for directories so you can
> set the default level at which that directory is checked out?  Something
> like
> 
> svn propset svn:depth immediate .
> 
> This would then act like svn co --depth=immediate when that directory
> was checked out, unless a specific depth was specified on the command line.
> 
> We have directory trees which contain stuff which is always needed and
> other stuff which is only needed on occasions, and fairly naïve users
> (from a Subversion point of view) and we are having a lot of disk space
> taken up unnecessarily by complete trees being checked out.  It would be
> good for the experts to be able to say "this is stuff we always need,
> this stuff should only be checked out if explicitly needed" and avoid
> the users having to worry about building their tree.  It would also help
> with checkouts where different directory hierarchies need to be checked
> out to different levels - doing it by hand, we have to check out the top
> level to the minimum needed by any of the sub-directories, then go into
> each subdirectory and update those to the relevant level and recurse
> until we have the right structure.

I've considered this enhancement in the past, but I usually find myself back
at "If most folks don't need the deep stuff in the tree, maybe that stuff
should go live elsewhere in the repository and be explicitly checked out by
folks that care."  That said, I'm not opposed to this advisory depth
property idea.

I do wonder (aloud, apparently) how we'd implemented such a thing in the
checkout logic, since we currently do checkouts as one giant negotiation:
C> "I need a checkout of a tree"; S> "Here ya go" *boom*.  We don't really
have in place today a way to negotiate at each directory level what the
server transmits.  I mean, we can kinda do it when we know up front at what
depth every tree item should be fetched, but we'd need to first crawl the
whole repository tree looking for advisory depths in order to make use of that.

-- 
C. Michael Pilato <cm...@collab.net>
CollabNet   <>   www.collab.net   <>   Distributed Development On Demand