Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0
Table of Contents

Users' Software Repository

PSDM uses Subversion (SVN) for the code management and versioning task. Currently, official LCLS code such as PSANA, PYANA, etc. is located in the Software Repository which is enabled to LCLS software development team only. For those users who would like to develop their own code, contribute to the LCLS project, and share their code with other user groups, there is a users' software repository,

Code Block
https://pswww.slac.stanford.edu/svn/userrepo   (this IS NOT a web reference!)

assigned to environment variable SIT_SVN_USER.

Access to users' software repository

To see content of users' or PSDM software repository use command

svn ls -v $SIT_SVN_USER

or

svn ls -v $SIT_SVN

respectively. For example, for one of the packages one can get

No Format
> svn ls -v $SIT_SVN_USER 
      5 ofte@SLA              Jun 07  2012 ./
      5 ofte@SLA              Jun 07  2012 pyana_modules/
> svn ls -v $SIT_SVN_USER/pyana_modules/
      5 ofte@SLA              Jun 07  2012 ./
      4 ofte@SLA              Jun 07  2012 branches/
      4 ofte@SLA              Jun 07  2012 tags/
      5 ofte@SLA              Jun 07  2012 trunk/
> svn ls -v $SIT_SVN_USER/pyana_modules/trunk/
      5 ofte@SLA              Jun 07  2012 ./
      5 ofte@SLA         1188 Jun 07  2012 SConscript
      5 ofte@SLA              Jun 07  2012 doc/
      5 ofte@SLA              Jun 07  2012 src/
> svn ls -v $SIT_SVN_USER/pyana_modules/trunk/src
      5 ofte@SLA              Jun 07  2012 ./
      5 ofte@SLA          371 Jun 07  2012 img_peakfinder.cfg
      5 ofte@SLA        11373 Jun 07  2012 img_peakfinder.py

Read-only access to both repositories is provided through the web interface:

Command line interface

SVN-based command-line interface is identical for both repositories. The only difference is that the key "-u" should be added to the addpkg and psvn newpkg commands for users' repository. For example,

addpkg -u <package-name>

psvn -u newpkg <my-new-package-name>

which are explained in Typical development tasks.

Inclusion of the package in official release

Publicly available LCLS offline releases can be seen in the directory associated with $SIT_RELDIR environment variable. Inclusion in release means that the package will be compiled nightly and its modules and applications will be available by default to anyone who want to use them, with appropriate version tag. Packages from both repositories can be included in LCLS offline release system by a personal request to the release coordinator (currently Andy).

References

Up to a minor difference in two commands

Note

two commands addpkg and psvn newpkg need in key "-u"

all other svn commands can be used with users' software repository.
Here is a list of useful references to the documents explaining how it works:
Typical development tasks
Software Repository