Hello Again DC2'ers,
I skipped a step in the description of branch creation and checkout. It is
updated below.
Robyn
---------------------------------------------------------------------------
I've built a new DC2 repository from the remnants of the DC1 repository.
The structure is quite different from DC1 and is tuned for the pipeline
fabricator who does not want/need the entire source tree.
For DC2, the various pipelines and support libraries are considered
separate projects within the SVN repository. To see what DC2 projects
have been defined, type:
setenv SVN svn+ssh://<your account>@lsstarchive.ncsa.uiuc.edu
svn list $SVN/DC2
Using the SVN standard project setup, each project has three well-known
directories which serve to snapshot the project at different milestones:
'trunk' primary source development occurs on the 'trunk'.
'branches' transient spurs 'svn copied' from the trunk enabling development
isolated from other programmer's changes on the trunk. The spurs
are optimally short-lived since merging the source back onto the
'trunk' becomes increasingly tedious the longer the spur is
isolated.
'tags' versioned snapshots used for releases. They are 'svn copied'
into the 'tags' directory from the 'trunk'.
To checkout a personal working copy of a project's primary source tree, type:
svn checkout $SVN/DC2/<project>/trunk <local name of choice>
For example, assuming I wanted to work on the current version of the
image processing pipeline, I would extract the 'imageproc' project:
mkdir MyTrunk # dirname provides at-a-glace source provenance info
cd MyTrunk
svn checkout $SVN/DC2/imageproc/trunk imageproc
cd imageproc
If I planned on an extensive revision and I wanted to ensure no modification
conflicts during my development, then I would create a transient 'branches'
copy.
mkdir MyBranch # dirname provides at-a-glace source provenance info
cd MyBranch
svn copy $SVN/DC2/imageproc/trunk $SVN/DC2/imageproc/branches/FixImageProc
-m "Creating branch for ImageProc upgrade on ..."
svn checkout $SVN/DC2/imageproc/branches/FixImageProc imageproc
cd imageproc
When the upgrade is ready, the branch needs to be merged back into
the main trunk. The merge process is described clearly in the online SVN
book (http://svnbook.red-bean.com/). Refer to "Chapter 4: Merging a Whole
Branch to Another" for a step by step discussion.
A good resource for CVS users who want a quick introduction to SVN, is the
"CVS to SVN Crossover Guide"
(http://svn.collab.net/repos/svn/trunk/doc/user/cvs-crossover-guide.html).
_______________________________________________
LSST-data mailing list
[email protected]
http://www.lsstmail.org/mailman/listinfo/lsst-data