Introduction
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,
https://pswww.slac.stanford.edu/svn/userrepo (this IS NOT a web reference, it is to be used with various "svn" commands)
In the psana environment, this address is assigned to environment variable SIT_SVN_USER
.
Creating Your Own User Repository
For most of these commands to work (except read-access to the readonly repo) you need a SLAC "kerberos ticket". You can see your tickets with the command "klist". You can get a ticket with the "kinit" command like this:
kinit mySlacAccountName@SLAC.STANFORD.EDU (the CAPS are required for SLAC.STANFORD.EDU!)
Create your local release directory and set environment:
cd <one-of-your-directories> newrel ana-current <my-local-release-directory-name> cd <my-local-release-directory-name> sit_setup
Create package sub-directory with a few files:
newpkg <my-new-package-name>
Use the following command to create your own new package in SVN:
psvn -u newpkg <my-new-package-name>
The package name should not include the "<>" above. Once you have created your package you can check it out of the repository with:
svn co https://pswww.slac.stanford.edu/svn/userrepo/<my-new-package-name>/trunk <my-new-package-name>
If you don't have a kerberos ticket, you can get readonly access to the repository (anywhere in the world!) like this:
svn co https://pswww.slac.stanford.edu/svn-readonly/userrepo/<my-new-package-name>/trunk <my-new-package-name>
If you are working in a psana "test release" instead of the above, you can checkout your code with:
addpkg -u <my-new-package-name>
svn commit -m "my message describing changes"
Difference Between userrepo
and psdmrepo
Within local release directory the difference in creation of the package in userrepo
is in additional "-u
" option in two commands
psvn -u newpkg <my-new-package-name> addpkg -u <my-new-package-name>
All other commands are the same for userrepo
and psdmrepo
.
Repository Browsing
Repositories content can be viewed using URLs as follows
userrepo
- http://pswww-dev.slac.stanford.edu:8080/svn/repos/userrepo/list/
- https://pswww.slac.stanford.edu/svn-readonly/userrepo/
psdmrepo
- http://pswww-dev.slac.stanford.edu:8080/svn/repos/psdmrepo/list/
- https://pswww.slac.stanford.edu/svn-readonly/psdmrepo/
- https://pswww.slac.stanford.edu/svn/psdmrepo
pcds
pdsrepo
- http://pswww-dev.slac.stanford.edu:8080/svn/repos/pdsrepo/list/
- https://pswww.slac.stanford.edu/svn-readonly/pdsrepo/