Using the Uniandes SVN repository

Documentation

Basic information

CVS = Concurrent Versioning System/ Version Control System

SVN = Subversion, will eventually replace CVS

Advantages:

  • Multiple editors from around the world can access and edit the same work
  • Share common resources and code - good for collaboration
  • Backup mechanism at CERN

Configuration

Make sure you have installed SVN on your system. SSH is used for authentication. The following instructions are needed if you are accessing the SVN repository via SSH from your laptop:

SVN Clients

The easiest case is for Unix like machines: you install for linux and macs the svn client offered in by your package administration:

For Windows the story is a bit more complicated because not all are free. One recomended application is:

If you use Eclipse ( http://www.eclipse.org/ ), there is also a plugin for SVN ( http://subclipse.tigris.org/ ).

Importing your code and documents

In order to give a structure and order to our SVN repository we should try to commit code under the following suggested categories:

Folder Test
a test directory
Folder Analysis
Analysis code and packages i.e.
Folder Thesis
Student's thesis (.tex files)
Folder Papers
collaboration papers, pre-prints, etc
Folder Users
users personal modules i.e. Folder userA Folder userB
Folder Documents
collaboration documents
Folder Scripts
shell scripts, root scripts, etc
Folder Webpages
general group web pages

The following example illustrates how to import a module (notice the Test/ path before the package name):


<-> cd MyDevelArea
<-> ls MyCode
exe  src
<-> svn import MyCode svn+ssh://svn.cern.ch/reps/cmsuniandes/Test/MyCode
****************************************************************
* http://cern.ch/ComputingRules : Govern the use of CERN computing facilities *
****************************************************************
Adding         MyCode/exe
Skipped 'MyCode/.svn'
Adding         MyCode/src
Adding         MyCode/src/Utilities.h
Adding         MyCode/src/RecHits.C
Adding         MyCode/src/rootlogon.C
...
Committed revision 7.

Checking out

If you want to checkout any of the diferent areas of our repository, you can try do the following:

$my unix prompt$      svn co svn+ssh://svn.cern.ch/reps/cmsuniandes/Thesis/Camilo/document3

if your username is different from the one on the lxplus cluster, then you need to change the previous line to:

$my unix prompt$      svn co svn+ssh://<lxplus username>@svn.cern.ch/reps/cmsuniandes/Thesis/Camilo/document3 

SVN Working cycle [a]

I highlighted the commands which are of frequent use:

The typical work cycle looks like this:

1. Update your working copy.

  • svn update

or checkout your code: svn checkout

2. Make changes.

  • svn add
  • svn delete
  • svn copy
  • svn move

3. Examine your changes.

  • svn status
  • svn diff

4. Possibly undo some changes.

  • svn revert

5. Resolve conflicts (merge others' changes).

  • svn update
  • svn resolve

6. Commit your changes.

  • svn commit

7. Other commands.

  • svn import

For a complete set of commands, please visit the suggested documentation or you can call from the command line svn help and svn help "command".

Adavanced Commands

  • mkdir (add a directory to a specific path):

svn mkdir svn+ssh://svn.cern.ch/reps/cmsuniandes/Test/MyNewDir ....... Committed revision 755.

Web access

Web access might be restricted outside CERN. This is the link:

Administration

The CVS Librarian has admin rights. In addition, an account on lxplus has been created for the Librarian. Our current Librarian is JuanPabloGomez.

Support Wrench, tools

[a]: From the SVN Manual

Topic attachments
I Attachment History Action Size Date Who Comment
PDFpdf svn-book.pdf r1 manage 1632.1 K 2008-09-20 - 11:56 AndresOsorio SVN-Manual
Edit | Attach | Watch | Print version | History: r16 < r15 < r14 < r13 < r12 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r16 - 2013-02-27 - AndresOsorio
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

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