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

  • Version Control with Subversion, by Ben Collins-Sussman, Brian W. Fitzpatrick, and C. Michael Pilato (O'Reilly, 2004) Online version
  • http://subversion.apache.org - Main SVN website
  • http://subversion.apache.org/packages.html - Command line clients for various OS
  • Subversion FAQ
  • TortoiseSVN - Windows GUI client
  • Liz reports she's used "SyncroSVN" on a Mac with good results. There should also be a Windows version.

    -- Main.MihaelHategan - 28 Nov 2007
    -- Main.EricMyers - 30 Nov 2007
    -- Main.EricMyers - 23 Jul 2008
    -- Main.EricMyers - 03 Apr 2009
Topic revision: r26 - 2019-05-22, AdminUser
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback