(svn) CVS

advertisement

Subversion voor Projectleiders
Rob Brands
Aino Andriessen

May 25, 2005
1
Source control systems













MS Visual SourceSafe
Subversion (svn)
CVS
SCCS
PVCS
ClearCase
Bitkeeper
Perforce
Oracle version control
RCS
netwerk schijf
...

May 25, 2005
2
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.

May 25, 2005
3
Approaches

 lock-modify-unlock
 vss
 copy-modify-merge
 svn, cvs

May 25, 2005
4
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
?

May 25, 2005
5
Voordelen

 Internet access
 vergelijkbaar met cvs
 clients
 copy-modify-merge
 command line

May 25, 2005
6
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

May 25, 2005
7
Clients

 Browser
 command line
 Windows Explorer (Tortoise)
 smartSVN
 IDE's
 Jira plugin
 ant / maven
 ...

May 25, 2005
8
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.

May 25, 2005
9
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

May 25, 2005
10
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.

May 25, 2005
11
Terminology 2














Repository
Check-out
Update
Commit (check-in)
Branch
Tag (label)
Switch
Merge
Revision
Import
Lock
working copy
...

May 25, 2005
12
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, ...

May 25, 2005
13
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

May 25, 2005
14
Tagging, Branching en Merging

 Tag = label (in vss)
 Branch is een aparte kopie
 Onderliggend mechanisme van taggen en
branchen is hetzelfde
 Smart copy

May 25, 2005
15
SVN Architecture


May 25, 2005
16
Demo

 Tortoise
 Log en revision graph
 Merging

May 25, 2005
17
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

May 25, 2005
18
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/

May 25, 2005
19
Download