TWiki> TOTEM Web>CompSVN (revision 11)EditAttachPDF

TOTEM SVN repository

Subversion (SVN): version control system software keeps track of all work and all changes in a set of files, and allows several developers (potentially widely separated in space and/or time) to collaborate. It is a replacement for an old version control system - CVS.

Documentation

Web Tools

Access

Via SVN+SSH

This is the recommended method. The repository URL (the equivalent of "CVSROOT" from CVS) is:

svn+ssh://svn.cern.ch/reps/totem/

For users with non-standard (non-lxplus) accounts

Usually if you want use non-standard username to connect SVN server, you should type:

$ svn co svn+ssh://USERNAME@svn.cern.ch/reps/totem/trunk totemsw

Some parts of our code are using links (svn:external) through which, unfortunately, non-standard usernames are not propagating. If you face such situation, for example on your local machine, with different username than your lxplus login, please follow these steps:

1. Create (if it does not exists) empty file file ~/.ssh/config with access rights 700.

2. Write to that file two lines:

Host svn.cern.ch
User USERNAME

Here USERNAME should be your lxplus login.

3. Fetch the code from SVN with default setup, not providing username:

$svn co svn+ssh://svn.cern.ch/reps/totem/trunk totemsw

Via HTTPS

This is an alternative method, useful from outside CERN and easier to use for Windows users. The repository URL in this case is:

https://svn.cern.ch/reps/totem/

SVN commands

The basic commands are similar to CVS:

CVS Subversion
cvs add svn add
cvs checkout svn checkout
cvs commit svn commit
cvs rm svn rm
cvs update svn update

However, there are some new useful commands that have no direct CVS equivalents:

Command Description
svn cp old new Copies specified file or directory to a new name/location, preserving commit history
svn mv old new_ Renames/moves specified file or directory to a new name/location, preserving commit history (unlike cvs rm old ; cvs add _new)

HOWTO

How to fetch TOTEM offline code from SVN repository ?

The recommended method is to use svn protocol over ssh, i.e.:

$ svn co svn+ssh://svn.cern.ch/reps/totem/trunk totemsw

or if you use a different user name for LXPLUS:

$ svn co svn+ssh://USERNAME@svn.cern.ch/reps/totem/trunk totemsw

This command will check out the latest revision of the code (called trunk in SVN-speak, the equivalent of main branch in CVS) into a directory called "totemsw" in current directory.

TotemRawData

TotemRawData is the package for reading and validating raw data. The code is used in Monitor and OfflineSW, that's why a special treatment is needed. We have decided to separate the package into a standalone project in the SVN repository: totem/trunk/TotemRawData. The package is included to Monitor and OfflineSW via svn:externals. In order to assure the Monitor and OfflineSW are kept in compiling and working state, their externals point to a fixed revision of TotemRawData, while the development of TotemRawData takes place in the HEAD revision.

This structure has beet set up in order to simplify the maintenance. On the other hand, unwise behavior can cause a lot of troubles. Hence, please avoid committing to TotemRawData unless you are sure that you know what you are doing. In case of any doubts, do not hesitate to ask any of the SVN repository maintainers (Leszek, Jan, etc.).

Flow of modifications

To commit modifications to the development revision (i.e. HEAD revision), simply

  1. commit your changes in TotemRawData: svn ci TotemRawData.

If you want to make the development version be used by Monitor/OfflineSW

  1. go to the base directory of Monitor/OfflineSW
  2. readjust the external link: svn propedit svn:externals . and modify the revision specification -r.... to your chosen revision. Commit the updated link: svn ci . .

Making tags and branches

Please read the last paragraph of the chapter on svn:externals.

Edit | Attach | Watch | Print version | History: r14 < r13 < r12 < r11 < r10 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r11 - 2010-04-06 - JanKaspar
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    TOTEM All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2021 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback