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

re: How to organize a repository?

From: Will Appleton <wfappleton_at_gmail.com>
Date: 2007-06-22 21:43:33 CEST

forgot to reply all.

---------- Forwarded message ----------
From: Will Appleton <wfappleton@gmail.com>
Date: Jun 22, 2007 2:39 PM
Subject: Re: How to organize a repository?
To: Chris <shef31@yahoo.com>

On 6/21/07, Chris <shef31@yahoo.com> wrote:
> I'm struggling to decide how to organize our projects. From a high
> level, here are the directories in our system:
>
> /src -- the main source directory
> /old_src -- source for an old version, still making bug fixes
> /src-client1 -- source code for a particular client
>
> /deploy -- readme.txt, license.txt for main proj
> /lib -- 3rd party libraries, shared by all
> /doc -- end-user documentation
> /design_docs -- internal, developer documentation
>
> /webapps -- client-specific web applications
> /webapps/client1 -- webapp for client1
> /webapps/client2 -- webapp for client2
>
> /data -- data dir. big, should not be stored in svn
> /data/client1 -- data for client1
> /data/client2 -- data for client2
>
> /test_database -- test data, used by unit tests
>
> We use Eclipse for development.
>
> Questions:
>
> Should every directory be a project, with its own /trunk, /branches, and
> /tags subdirectories?
>
> This seems like a lot of directories, plus it isn't clear to me how to
> keep releases in sync. Suppose /src release number 1.5 depends on
> certain versions of 3rd-party libs, and relates to docs at a certain
> revision?
>
> Should I have everything in one giant repository?
>
> Can someone post some sample directory and repository layouts?

OK, the indents weren''t very clear, so I've used rich text formatting to
get a fixed width font. (sorry for no plain text...)
I'd arrange it *something* like this:

|--trunk
|----src
|----old_src
|----src-client1
|----deploy
|----lib
|----doc
|----design_docs
|----webapps
|------client1
|------client2
|--tags
|----Release10.1
|------deploy
|------design_docs
|------design_docs
 |------doc
|------lib
 |------old_src
|------src
 |------src-client1
|------webapps
 |--------client1
|--------client2
 |----Release10.3
|------deploy
 |------design_docs
|------doc
 |------lib
|------old_src
 |------src
|------src-client1
 |------webapps
|--------client1
 |--------client2
|--branches
 |----Project001
|----Project002
 |----Project003

I've shown the repo layout after a couple of releases are tagged. There's a
few projects as well, but I haven't shown the dir layout for the projects.

BTW, have you read the SVN Book section on repo layout?
http://svnbook.red-bean.com/nightly/en/svn-book.html#svn.tour.importing.layout

HTH

-=W=-
Received on Fri Jun 22 21:43:38 2007

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.