[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Feature Request: Default checkout directory under parent

From: Thomas Harold <tgh_at_tgharold.com>
Date: 2006-10-16 08:12:13 CEST

Gavin Lambert wrote:
>> When I click on Checkout in the repository browser, I would like the
>> default checkout directory to be:
>>
>> C:\Work\client\jobnr\docs\
>
> Shouldn't that already exist?
>
> Or are you using (fundamentally broken) non-recursive checkouts?

A bit more background. Our job repository is around 20GB now (it would
be 60GB if we could fold in the rest of our user base instead of just
the web group). Even in our smaller repository, we have maybe 100
clients and 600 jobs from the past 6 years. We've been using
SourceOffSite to handle this duty but are migrating to an SVN backend
and the TortoiseSVN client.

Most jobs are only active for 1-3 weeks before they are closed. A
particular developer could work on Client XYZ's ABC project this week,
but also be working on 3 other projects from 3 other clients at the same
time. Pulling down the entire repository (or even a significant portion
of it) would be a bit of a waste.

In order to manage this chaos, we separate things as:

C:\Work\Jobs\C\Client\JobNR\...

"C" is the first letter of the client name, so all clients starting with
"C" are in their own sub-folder. Which makes it easier to browse the
tree (5-15 clients at a time instead of all 100), and the 600 jobs are
spread out so there is only a handful in each client folder.

We also have a technical requirement that the working copies be in the
same directory across the Window's clients. (We use software that
hard-codes paths between data files. So if projects move, paths break.
  By putting everything into the above C:\Work\... structure, we avoid
the breakage issue while still being able to use SVN instead of
reverting to using a network share.)

As it is, we have 26 repositories for the Jobs tree, one for each letter
of the alphabet (not counting the other half-dozen repositories for
other folders in the C:\Work tree). That requires a bit of setup time
in order to get TortoiseSVN pointing at the proper repositories for each
folder under C:\Work\Jobs. But once we have those top level
directories, we should be good to go.

The problem is when I need to checkout project 123 for client FOO. The
C:\Work\Jobs\F tree on my local drive may still be empty because I
haven't worked on any clients whose names begin with "F" yet. So in
order to get project 123 onto my working copy, I have to:

- do a checkout of "FOO"
- do a checkout of "123"

In SourceOffSite, I would simply highlight project 123 and click on "Get
Latest". SOS would automatically create the folders "FOO" and "123" in
the default locations (as children under C:\Work\Jobs\F) since I didn't
tell it to put the working copy somewhere else. Which makes startup
time for looking at a new project very quick.

Once a developer is done with a project, they typically leave it on
their hard drive (unless they are pressed for space). While most
projects are over in 1-3 weeks, it's not unheard of for questions to
come back around about a project 2-3 years later. Which is why we use a
version control system for all of these files. It lets us recreate what
happened in the project from 2-3 years ago, including looking at older
revisions without pulling backup tapes out of the vault.

(Changed the example name from C:\Repos to C:\Work to eliminate
confusion that we are storing the repository in C:\Repos. Our
repositories are hosted on a ssh+svn server.)

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: users-help@tortoisesvn.tigris.org
Received on Mon Oct 16 08:12:36 2006

This is an archived mail posted to the TortoiseSVN Users mailing list.