The PSI3 repository is comprised of a main trunk and several release branches. The branch you should use depends on the sort of work you plan for the codes:
Fig. 1 provides a schematic of the SVN revision-control structure and branch labeling. Two release branches are shown, the current stable branch, named psi-3-3, and a planned future release, to be named psi-3-4. The tags on the branches indicate release points, where bugs have been fixed and the code has been or will be exported for public distribution. As soon as a release branch is created, we generate a tag so that we may make updates to that version of the code without affecting other branches or the main trunk. The dotted lines in the figure indicate merge points: before each public release, changes made to the code on the stable release branch will be merged into the main trunk.
A frequently encountered problem is what to do about bug fixes that are necessary for uninterrupted code development of the code on the main trunk. As Rule 1 of the above policy states, all bug fixes of the code already in the recent stable release must go on the corresponding branch, not on the main trunk. The next step depends on the severity of the bug:
The following are some of the most commonly used SVN commands for checking out and updating working copies of the PSI3 source code.
To checkout a working copy of the head of the main trunk:
svn co https://sirius.chem.vt.edu/svn/psi3/trunk/ psi3
To check out a working copy of the head of a specific release branch,
e.g., the branch labelled psi-3-3:
svn co https://sirius.chem.vt.edu/svn/psi3/branches/psi-3-3 psi3
Note that subsequent svn update commands in this working copy will provide updates only on the chosen branch. Note also that after you have checked out a fresh working copy of the code you must run the autoconf command to generate a configure script for building the code. (See the installation manual for configuration, compilation, and testing instructions.)
For each of the above commands, the working copy of your code will be placed in the directory psi3, regardless of your choice of branch. In this manual, we will refer to this directory from now on as $PSI3. Subsequent SVN commands are usually run within this top-level directory.
To update your current working copy to include the latest revisions:
svn update
Notes: (a) This will update only the revisions on your current branch; (b) The old -d and -P flags required by CVS are not necessary with SVN.
To convert your working copy to the head of a specific branch:
svn switch https://sirius.chem.vt.edu/svn/psi3/branches/psi-3-3
To convert your working copy to the head of the main trunk:
svn switch https://sirius.chem.vt.edu/svn/psi3/trunk/
To find out what branch your working copy is on, run this in your
top-level PSI3 source directory:
svn info | grep URL
This will return the SVN directory from which your working copy was taken, e.g.,
URL: https://sirius.chem.vt.edu/svn/psi3/branches/psi-3-3
Some words of advice: