SubVersioN – the new Central Service at DESY by Marian Gawron.

Slides:



Advertisements
Similar presentations
TortoiseSVN By Group 1 Team B. Installing TortoiseSVN.
Advertisements

Introduction To GIT Rob Di Marco Philly Linux Users Group July 14, 2008.
Intro to Version Control Have you ever …? Had an application crash and lose ALL of your work Made changes to a file for the worse and wished you could.
 Please sit next to your partner.  If you don’t have a partner, please find one now.
1. What is Subversion? Why do we need CM? Basic concepts Repositories Options Setup Clients Options Setup Operation Troubleshooting Slide 2.
Software Configuration Management Donna Albino LIS489, December 3, 2014.
om om GIT - Tips & Tricks / git.dvcs git-tips.com
Version Control System Sui Huang, McMaster University Version Control SystemSui Huang, McMaster University Version Control System -- base on Subversion.
Version Control What it is and why you want it. What is Version Control? A system that manages changes to documents, files, or any other stored information.
Dedi Rahmawan Putra  Shared Document  Conventional Ways  Common Problems  What is TortoiseSVN  Advantages over another tools  Basic Concepts.
David Notkin Autumn 2009 CSE303 Lecture 22 Subversion is an open source version control system. Social Implications Friday version control system.
2/6/2008Prof. Hilfinger CS164 Lecture 71 Version Control Lecture 7.
Using subversion COMP 2400 Prof. Chris GauthierDickey.
Version Control using Subversion Albert Young-Sun Kim November 2 nd, 2005 Available at entations/ subversion/
Source Code Revision Control with Subversion Christophe Dupré May 13, 2005 Update KEJ May 10, 2006 Scientific Computation Research Center Rensselaer Polytechnic.
CVS Selim Çıracı Ahmet Kara Metin Tekkalmaz. CVS – Open Source Version Control System Outline What are Version Control Systems? And why do we need them?
CS311 – Lecture 08 Outline Subversion (SVN) *All information taken from “SVN Book” O’Reilly Lecture 081CS Operating Systems I.
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
Source Control Repositories for Enabling Team Working Svetlin Nakov Telerik Corporation
Version Control Systems and the Subversion Kloimstein Dominik.
© Polarion Software ® Subtrain – SVN User training – IntroductionWhat is Subversion? 1 backupcollaboration documentationversioning.
By Steven Campbell and Erik Boone.  Sharing projects by putting them into a central repository.  Checking out copies of projects from the repository.
Version Control. What is Version Control? Manages file sharing for Concurrent Development Keeps track of changes with Version Control SubVersion (SVN)
European Organization for Nuclear Research Source Control Management Service (Subversion) Brice Copy, Michel Bornand EN-ICE 13 May 2009.
Source Code Revision Control Software CVS and Subversion (svn)
Version Control with Subversion. What is Version Control Good For? Maintaining project/file history - so you don’t have to worry about it Managing collaboration.
Subversion. What is Subversion? A Version Control System A successor to CVS and SourceSafe Essentially gives you a tracked, shared file system.
Subversion, an Open Source Version Control System An Introduction.
Version Control with Subversion Quick Reference of Subversion.
Git – versioning and managing your software L. Grewe.
Warmup A programmer’s wife tells him, “Would you mind going to the store and picking up a loaf of bread? Also, if they have eggs, get a dozen.” The programmer.
Version control Using Git Version control, using Git1.
Subversion (SVN) Tutorial Source:
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
Version Control Systems with Subversion (SVN) and Tortoise.
Version Control Menggunakan TortoiseSVN
Subversion (SVN) A Revision Control System Successor to CVS Carlos Armas Hervey Allen.
Progress with migration to SVN Part3: How to work with g4svn and geant4tags tools. Geant4.
SENG 403 Tutorial 1 1SENG 403 – Winter Agenda Version Control Basics Subversion Basic actions in Subversion Some examples 2SENG 403 – Winter 2012.
DireXions – Your Tool Box just got Bigger PxPlus Version Control System Using TortoiseSVN Presented by: Jane Raymond.
Team 708 – Hardwired Fusion Created by Nam Tran 2014.
INFSO-RI Enabling Grids for E-sciencE SCDB C. Loomis / Michel Jouvin (LAL-Orsay) Quattor Tutorial LCG T2 Workshop June 16, 2006.
CVS – concurrent versions system AROC Guatemala July 19-23, 2010 Guatemala City, Guatemala.
1 CSE306 Operating Systems Projects CVS/SSH tutorial.
SWGData and Software Access - 1 UCB, Nov 15/16, 2006 THEMIS SCIENCE WORKING TEAM MEETING Data and Software Access Ken Bromund GST Inc., at NASA/GSFC.
Sabriansyah R.A Version Control. The Repository Subversion adalah sistem tersentralisasi untuk informasi sharing Repository adalah pusat penyimpanan data.
Introduction to Git Yonglei Tao GVSU. Version Control Systems  Also known as Source Code Management systems  Increase your productivity by allowing.
1 CSE 303 Lecture 19 Version control and Subversion ( svn ) slides created by Marty Stepp
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
Introduction to Git - Chirag Dani. Objectives Basics of Git Understanding different “Mindset of Git” Demo - Git with Visual Studio.
 Project Team: Suzana Vaserman David Fleish Moran Zafir Tzvika Stein  Academic adviser: Dr. Mayer Goldberg  Technical adviser: Mr. Guy Wiener.
Source Control Repositories for Enabling Team Working Doncho Minkov Telerik Corporation
© CGI Group Inc. User Guide Subversion client TortoiseSVN.
NALINI S. NAUTIYAL SYSTEM SOFTWARE DIVISION Subversion.
Using Subversion for Source Code Control Michael McLennan HUBzero® Platform for Scientific Collaboration Purdue University This work licensed under Creative.
Software Testing and Maintenance 1 Subversion  Fundamental Concepts  Basic Usage.
DIGITAL REPOSITORIES CGDD Job Description… Senior Tools Programmer – pulled August 4 th, 2011 from Gamasutra.
1 Subversion Kate Hedstrom April Version Control Software System for managing source files –For groups of people working on the same code –When.
Introduction to Subversion Getting started with svn Matteo Vescovi 19/02/2010.
Source Control Dr. Scott Schaefer. Version Control Systems Allow for maintenance and archiving of multiple versions of code / other files Designed for.
Version Control with Subversion
SVN intro (review).
Source Control Dr. Scott Schaefer.
Subversion.
Concurrent Version Control
Software Version System Part1: Subversion at CERN
slides borrowed and adapted from Alex Mariakis and CSE 390a
User Guide Subversion client TortoiseSVN
Subversion Basics Guide
Prof. Hilfinger CS164 Lecture 4
Presentation transcript:

SubVersioN – the new Central Service at DESY by Marian Gawron

What is Subversion? Revision Control System made to replace CVS

SVN Basics Client Options  Command line client  Different GUIs for Windows, Linux and Mac  Web access Svnserve  Integrated server communicates over TCP/IP  Tunnel mode (e.g. ssh) Apache based Web Server

Introducing SVN work cycle Checkout a working copy at the beginning (one time) afterwards update the local working copy (very often) SVN remembers the path to the repository and looks for changes itself Work on this copy: make and test changes  Use svn add to add various files or directories  svn move to move files or directories  or svn delete to delete files or directories Before every commit update your copy again maybe there are some conflicts Commit changes to the central project

Conflicts in SVN can happen that another developer works on the same file like you and he commits his work earlier because you know it could happen update your local working copy again before commit  svn update You see symbols in front of each file a change was made with (e.g. A(dd), M(odified), D(eletion) or C(onflict) ) We got a “C” in front of our working file  e.g. Cbranches/file.cgi Merge Conflicts by hand: look in the file  the conflict part is surrounded by “ >>>” the own part is on top if a line like “====“ in the middle edit this file as you want  Afterwards run svn resolved and commit the file

Conflicts File in the repository File in working Copy of User1 Update no changes found Committed with changes File in working Copy of User2 Work and Change things Update Found a conflict Merge conflict manually Commit without problems

File of a Conflict SVN Index <<<<<<<<.mine Code Management ============= Management of Source Code >>>>>>>>.r4 Welcome to the new SVN Server of DESY

Basic SVN Commands svn checkout (co)  only first time after one checkout for each project SVN knows where to find it svn update (up) svn add, delete(del, rm), copy(cp), move(mv)  Working commands on working copy only svn status(st), diff, revert  Commands to test changes or undo them svn merge, resolved  Commands to find a solve conflicts svn commit (ci)

Differences between CVS & SVN Similar to CVS in many ways  Commands like checkout, add, commit New useful features and commands  Merge, resolved, mkdir, copy, move SVN works faster SVN has no direct rollback function

Differences between CVS & SVN in detail Revision numbering Each revision  is a timestamp for one commit  defines a whole tree not only one file Commits  In SVN a commit is done all at once  better if there is a network problem SVN repository is save Binary Files  Take less space in SVN (algorithm Vdelta)

Differences between CVS & SVN in detail Directories  Changes to directories are tracked in SVN Renaming Files  possible in SVN with “svn move” without losing history Branching Tagging  not generated automatically in SVN  expensive operation in CVS but a normal operation in SVN cause no difference between a normal directory and branches or tags

Details Repository With URL Local access file:///home/usr/repofile:///home/usr/repo same as an array of trees

Viewing repositories Online tool : ViewVC Only for viewing, downloading, reading No write permissions in ViewVC for anybody

Internal Structure A Look in a Repository  /conf directory containing repository configuration files  /dav directory for communication with apache  /db main directory with all stored files of the repository  format a file which contains values like version number of the repository  /hooks directory with scripts which SVN will execute if an action is made  /locks directory with locking data of SVN Never change things manually!!! If you are not sure

Authentication and Authorization to Web Server Anonymous  all repositories are readable to everybody  Location “public”  e.g. Via SSL  write permission is given to users with valid certificates  Location “svn”  e.g. Via Kerberos  write permission is given to users with valid DESY account  Location “desy”  e.g.

Authentication with Apache Basic realm is global and exists for all pages Only necessary for writing permission (Limits) protects Location “public”, with User rights and permissions Successful authentication only in other Locations when server sends request for Username of Certificate or Kerberos name FakeBasicAuth important Apache does Authentication and a general Authorization

Authentication and Authorization in SVN Via SVN authorization file  Gets Username from apache  File where Administrators can give read/write permissions of their projects and subprojects  Easy to handle and clear structure in the file example: [repository:/…] User 1 = rw User 2 = r

Administration After registration: maintainer is administrator of own projects Maintainer has the rights to add / delete members or to create new subprojects Online Interface for Administration for Kerberos based Authenticationhttps://svnsrv.desy.de/admin/desy for SSL based Authenticationhttps://svnsrv.desy.de/admin/svn

add new members change own membership change own user information delete group members reject/accept requests

Status SVN server is working  svnsrv.desy.de  Intro: Repositories available and updated to current status in CVS soon Work on Online Administration Interface finished soon

Sources  SVN manual like on   “Apache Webserver 2” by Sebastian Wolfgarten