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 <cmpilato_at_collab.net>
CollabNet <> www.collab.net <> Distributed Development On Demand
Received on 2008-09-26 15:30:13 CEST