Project

General

Profile

UsingRepositories » History » Version 28

« Previous - Version 28/39 (diff) - Next » - Current version
Laurenz Gamper, 01/29/2013 06:34 AM


SVN

SVN Access

To Access the DESpec SVN, you need:
  • a services account
  • to be a member of the subprojects of DESpec
  • a kerberos ticket
  • a svn client

Recommended SVN Clients

Services Account at Fermilab

How to get a services account:
https://cdcvs.fnal.gov/redmine/projects/despec/wiki/DESpecwikiAccess

Member of the Subprojects

If you would like to have write access, email Brian or Laurenz, so we can add you to the DESpec project. If you don't need write access, look at the section Anonymous SVN.

Kerberos

How to set up kerberos

$ mv /etc/krb5.conf /etc/krb5.conf.bak
$ cd /etc
$ wget http://security.fnal.gov/krb5.conf
$ echo "host cdcvs.fnal.gov
   ForwardX11 = no
   GSSAPIAuthentication yes
   GSSAPIDelegateCredentials yes" >> ~/.ssh/config
$ kinit -f your-fnal-username
$ klist

The final klist should show your kerberos ticket and the svn can be checked out now using the svn checkout command below.

Links with further documentation

http://www.fnal.gov/docs/strongauth/macadmin.html#55292
http://kb.mit.edu/confluence/display/istcontrib/Acquiring+Kerberos+Tickets+in+Mac+OS+X+10.7+(Lion)+or+OS+X+10.8+(Mountain+Lion)
http://fermilinux.fnal.gov/documentation/security/kerberos-newer-linux/

SVN Introduction

http://svnbook.red-bean.com/en/1.7/svn.tour.cycle.html

Adding a File

Adding a file does not commit the file, use commit to upload the file.

svn add your-file

Commit

One need not supply a URL for commit. SVN automatically contacts external server

svn commit -m "your message"  

SVN Checking your changes

This presents a summary of the changes.

svn status

Which outputs something like

$:~/src/despec/trunk/Wrapper$ svn status
M       run_pipeline.py
A       lsprofcalltree.py
C       glue.ini
?       glue.mine.ini

You see the filenames and the flags at the beginning of the line. The flags mean:

? item
The file, directory, or symbolic link item is not under version control.

A item
The file, directory, or symbolic link item has been scheduled for addition into the repository.

C item
The file item is in a state of conflict. That is, changes received from the server during an update overlap with local changes that you have in your working copy (and weren't resolved during the update). You must resolve this conflict before committing your changes to the repository.

D item
The file, directory, or symbolic link item has been scheduled for deletion from the repository.

M item
The contents of the file item have been modified.

SVN Checkout

Source Code

svn checkout svn+ssh://p-simulation_pipeline@cdcvs.fnal.gov/cvs/projects/simulation_pipeline-main/trunk despec

Data

svn checkout svn+ssh://p-simulation_pipeline@cdcvs.fnal.gov/cvs/projects/simulation_pipeline-main/data data

Paper

svn checkout svn+ssh://p-simulation_pipeline@cdcvs.fnal.gov/cvs/projects/simulation_pipeline-main/paper paper

This will create a directory called despec containing a checkout the complete pipeline.

Run the Code

Description of the glue code

Instructions on how to run the pipeline: Run_Pipeline

Creating a sub-project repository

Example-ish

  • If you have a project "fred" and a "main" repository with no identifier
    you get put in
    • /cvs/projects/fred
  • if you have a project fred and a repository identifier of "joe" you get
    • /cvs/projects/fred-joe
  • So you can do give them all identifiers, or have one (main) one without;
    or you can give the Main one an identifier...
  • If there is no "Main" repository, the Repository tab doesn't show up,
    apparently.

     
Also see https://cdcvs.fnal.gov/redmine/projects/fermi-redmine/wiki/Subversion for Subversion