Recommended Repository Structure for your project

77 views
Skip to first unread message

cfmip-diag-dev-admin

unread,
Oct 10, 2013, 4:48:52 AM10/10/13
to cfmip-d...@googlegroups.com
We have two recommendations about repository structure.

A. Different metrics/diagnostics are defined to be different google code project.
To create a new project (a repository), go to google code; http://code.google.com/
Please see cloud-regime-error-metric as an example, if you like.

B. A repository of the project is structured so that it can have subproject in it.

We recommend you to set up a repository structure of your project to place your repository at the root level so that trunk, branches and tags are placed below the level.
This is because we may have codes written in different languages in the future and a directory for them should be on the same level as the original codes, rather than under the directory. Please see below.

Default structure:

/wiki
/branches
/tags
/trunk/your_project

Recommended structure:

/wiki
/your_project_fortran/branches
/your_project_fortran/tags
/your_project_fortran/trunk

/your_project_python/branches
/your_project_python/tags
/your_project_python/trunk

Here I recorded how I created a base directory structure of cloud-regime-error-metric repository as an example.
1. Initial checkout of codes
%svn checkout https://cloud-regime-error-metric.googlecode.com/svn/ cloud-regime-error-metric --username 'my email address'
   Note that you checkout under 'svn' rather than 'svn/trunk'.
   Below is a default command suggested in a source/checkout page. You see the difference between the above and the below.
%svn checkout https://cloud-regime-error-metric.googlecode.com/svn/trunk/ cloud-regime-error-metric --username 'my email address'

2. Modify the structure of your local copy of your project.
You need to use svn command to reflect create/delete/move files and directories.
%cd cloud-regime-error-metric
%mkdir crem_python
%svn add crem_python
%mkdir crem_python/trunk
%mkdir crem_python/branches
%mkdir crem_python/tags
%svn add crem_python/trunk
%svn add crem_python/branches
%svn add crem_python/tags
%svn delete branches
%svn delete tags
%svn delete trunk
%cp ~/yourprogram.py crem_python/trunk/.
%svn add crem_python/trunk/yourprogram.py

3. Commit modifications
%svn commit -m "A base repository structure: trunk under crem_python"

Reply all
Reply to author
Forward
0 new messages