subversion voor projectleiders

19
1 May 25, 2005 Subversion voor Projectleiders Rob Brands Aino Andriessen

Upload: carla-harmon

Post on 01-Jan-2016

26 views

Category:

Documents


1 download

DESCRIPTION

Subversion voor Projectleiders. Rob Brands Aino Andriessen. Source control systems. MS Visual SourceSafe Subversion (svn) CVS SCCS PVCS ClearCase Bitkeeper Perforce Oracle version control RCS netwerk schijf. CVS & Subversion. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Subversion voor Projectleiders

1May 25, 2005

Subversion voor Projectleiders

Rob Brands

Aino Andriessen

Page 2: Subversion voor Projectleiders

2May 25, 2005

Source control systems

MS Visual SourceSafe Subversion (svn) CVS SCCS PVCS ClearCase Bitkeeper Perforce Oracle version control RCS netwerk schijf ...

Page 3: Subversion voor Projectleiders

3May 25, 2005

CVS & Subversion

CVS wordt traditioneel veel ingezet in de open source community en in Java omgevingen.

The goal of the Subversion project is to build a version control system that is a compelling replacement for CVS in the open source community.

Subversion wordt in grote communities, als Apache, ingezet.

Page 4: Subversion voor Projectleiders

4May 25, 2005

Approaches

lock-modify-unlock vss

copy-modify-merge svn, cvs

Page 5: Subversion voor Projectleiders

5May 25, 2005

Hele korte Vergelijking

SVN MS VS

Strategy copy-modify-merge lock-modify-unlock

Access Internet, others lokaal netwerk

Clients Many VS client

OS MS, Linux, MacOS, java MS

Command line x beperkt

Atomic commits x -

Pricing gratis niet gratis

Move x ?

Renaming x ?

Directory versioning

x ?

Page 6: Subversion voor Projectleiders

6May 25, 2005

Voordelen

Internet access vergelijkbaar met cvs clients copy-modify-merge command line

Page 7: Subversion voor Projectleiders

7May 25, 2005

Aandachtpunten

best practices myproject/branches/ myproject/tags/ myproject/trunk/

copy-modify-merge bijv. voor projectfiles

werkwijze tov vss global revision number

“revision 5 of foo.c”, -> “foo.c as it appears in revision 5.”

migratie

Page 8: Subversion voor Projectleiders

8May 25, 2005

Clients

Browser command line Windows Explorer (Tortoise) smartSVN IDE's Jira plugin ant / maven ...

Page 9: Subversion voor Projectleiders

9May 25, 2005

SVN en Jira

Jira kan worden/wordt gekoppeld aan SVN Jira retrieves the svn logfiles Koppeling op basis van het Jira incident nr. Aparte tab bij een incident

! Neem dus het Jira incident nr op als commentaar bij een commit.

Page 10: Subversion voor Projectleiders

10May 25, 2005

Working copy

To get a working copy, you must check out some subtree of the repository. No concept of project or module

.svn administrative directories off-line actions Locking is an option

Page 11: Subversion voor Projectleiders

11May 25, 2005

Terminology

SourceSafe use the word "checkout" as a command which specifically communicates the intent to edit a file.

For CVS / SVN, the "checkout" command is used to retrieve files from the repository regardless of whether the user intends to edit the files or not.

Page 12: Subversion voor Projectleiders

12May 25, 2005

Terminology 2

Repository Check-out Update Commit (check-in) Branch Tag (label) Switch Merge Revision Import Lock working copy ...

Page 13: Subversion voor Projectleiders

13May 25, 2005

Revisions

Each time the repository accepts a commit, this creates a new state of the filesystem tree, called a revision. Each revision is assigned a unique natural number. a revision is a “snapshot” of the repository

at a particular moment in time global revision number

• “revision 5 of foo.c”, -> “foo.c as it appears in revision 5.”

It's important to note that working copies do not always correspond to any single revision in the repository; they may contain files from several different revisions.• commit does not pull so you must perform

update shortcuts: HEAD, BASE, PREV, ...

Page 14: Subversion voor Projectleiders

14May 25, 2005

Merge

Merging is het fundament van svn Op text-files Meestal geen conflicten Built-in conflict resolution Dus ook goede ondersteuning voor het

mergen van een branch met de main 'line' Aangeven welke revisies er gemerged

moeten worden

Page 15: Subversion voor Projectleiders

15May 25, 2005

Tagging, Branching en Merging

Tag = label (in vss) Branch is een aparte kopie Onderliggend mechanisme van taggen en

branchen is hetzelfde Smart copy

Page 16: Subversion voor Projectleiders

16May 25, 2005

SVN Architecture

Page 17: Subversion voor Projectleiders

17May 25, 2005

Demo

Tortoise Log en revision graph Merging

Page 18: Subversion voor Projectleiders

18May 25, 2005

Resources

Wikipedia http://en.wikipedia.org/wiki/Revision_control http://en.wikipedia.org/wiki/List_of_revision_control_software

Tutorial http://software.ericsink.com/scm/source_control.html

Comparison http://better-scm.berlios.de/comparison/comparison.html

SVN Crashcourse http://www.developer.com/java/other/article.php/3499816

Page 19: Subversion voor Projectleiders

19May 25, 2005

Resources

CVS http://www.nongnu.org/cvs/

Subversion http://subversion.tigris.org/ http://svnbook.red-bean.com/ http://tortoisesvn.tigris.org/

Visual Sourcesafe http://msdn.microsoft.com/vstudio/previous/ssafe/

Clearcase http://www-306.ibm.com/software/awdtools/clearcase/