Mike Cepek <mikece...@yahoo.com> wrote on 08/11/2011 12:07:44 PM: > > Not "sufficient" because it takes time and manual work to do? Or, > because it doesn't do what you need? > > Taking 97 minutes to pull 25 GB from all the tags/ and branches/ is > unacceptable when it takes only 3 minutes to pull the 660 MB we > actually need from just the trunk/ directories. Getting everything > and then manually pruning isn't a viable option. Getting just the > trunk/ directories without a brittle script is the whole point of my post. > > > Sparse directories is exactly what you need to use to get what you want. > > 1.7 added a -parents (I think it is) argument to the update/checkout [...] > I'll check out that option. Unfortunately... > > > What version of the server are you running? I think if you use > Sparse directories with a pre 1.6 server > > the server sends all the files and the client just throws away > what doesn't fit into your requested depth. > > Ah. Our server reports itself as 1.4.2. That probably explains why > it took so long. I have no idea what the odds are of having our > server upgraded (used by many other projects). > > > That all said, I don't really see the benefit of having one > working copy that you can update at once. > > As opposed to having 14 working copies that every developer has > to manually maintain? Really? The layout in my OP is only part of > this project. We really do have 14 separate branches/tags/trunks > trees. This is a new project, so that number will probably go up over time. > > > I prefer to check out the branch and/or trunks that I need to work > on as needed and update each > > one as needed. If you want to update all your working copies with > one command you can create > > a local batch file which goes through and calls update on each folder. > > With --max-depth it should be possible to avoid needing a script for > updates. I've been working on a script for the initial checkout. > It's non-trivial and brittle. I will postpone the gory details > unless there is interest.
How about creating a separate directory that only contains a bunch of svn:externals values to each trunk dir you need? Then the user just checks out this one directory which will automatically pull only the directories you want. I don't normally recommend externals since each external causes a separate connection to the server. This can be a big performance problem for high latency connections... Especially when it is abused by having thousands of externals... Kevin R.