Subversion (SVN)
Subversion (often abreviated SVN) is a popular version control system, similar to CVS (the Concurrent Versions System). SVN is touted as a modern replacement for CVS, and it seems to be that more and more projects are moving from CVS to SVN.
The source code for the main ELabs software is now stored in SVN. You can track the progress with the
https://cdcvs.fnal.gov/redmine/projects/quarknet/repository.
Read Access
You do not need a special account to check things out from our SVN repository; you can simply do an "anonymous" checkout. To check out multiple files or the whole directory tree you will want to use SVN client software (see
http://subversion.tigris.org/). There are many clients available - for Mac, Windows, and Unix. Pick one you like, or one someone you know recommends.
On Unix you can also use the command line client, thus:
Write Access
- You need a Fermilab login account to be able to check things into the Subversion repository. Go to https://fermi.service-now.com/new_acct_request.do and fill in the data. Your sponsor name is "Marjorie Bardeen".
- Check the code out using the following instructions:
- You need to have a Kerberos account, that should come with your Fermi account.
- Open terminal and run:
- kinit youracountname@FNAL.GOV (enter your password)
- svn checkout svn+ssh://p-quarknet@cdcvs.fnal.gov/cvs/projects/quarknet/branches/3.0-test
- Make your changes. Test them. Then when ready to check your changes into the repository. Follow SVN tutorials on how to use different commands.
Working with the repository
The /trunk /branches /tags layout of the root directory is conventional with SVN. Branches contain provisional repositories for various stages of development. The current active branches are the 4.* ones.
- 3.0-rollout
- 3.0-rollout-test
- 3.0-test
- 3.1
- 4.0-ND-dev
- 4.0-ND-prod
The 3.* group was for deployment to i2u2 servers at Argonne. 3.0-test was for deployment to the development machine www13.i2u2.org, now retired. 3.0-rollout and 3.0-rollout-test were for deployment to the production machine www18.i2u2.org (retired Jan 2016).
The 4.* group is for deployment to i2u2 servers at Notre Dame. 4.0-ND-dev is for deployment to the development machine i2u2-dev.crc.nd.edu, while 4.0-ND-prod is for deployment to the production machine i2u2-prod.crc.nd.edu.
Branches before 3.0 are legacy code and unused. If disk space is an issue, you don't even need to check them out to your local repository. We haven't deleted them mostly because disk space is cheap.
The other branches were Edit's. You probably don't need them.
References