Top Banner
Revision Control Systems Amin Tootoonchian Kian Mirjalali
21
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Revision Control Systems Amin Tootoonchian Kian Mirjalali.

Revision Control SystemsAmin Tootoonchian

Kian Mirjalali

Page 2: Revision Control Systems Amin Tootoonchian Kian Mirjalali.

August 5, 2006 Revision Control Systems 2

Outline Revision Control Systems Samples

Subversion ClearCase

Page 3: Revision Control Systems Amin Tootoonchian Kian Mirjalali.

August 5, 2006 Revision Control Systems 3

Revision Control Systems An SCM activity Controlled and incremental changes Revision control/Version control/Source control Management of multiple revisions of the same unit

of information Uses

Engineering Software development

Page 4: Revision Control Systems Amin Tootoonchian Kian Mirjalali.

August 5, 2006 Revision Control Systems 4

Storage Models Models

Centralized Shared server SVN, ClearCase, …

Distributed Changes shared between distributed repositories No network connection required TeamWare, GNU arch, …

Compression Delta compression differences are retained

Page 5: Revision Control Systems Amin Tootoonchian Kian Mirjalali.

August 5, 2006 Revision Control Systems 5

Concurrent access Locking and granting modification access to one

developer at a time Protection against difficult merge conflicts (in the case of

radical changes possibly) Release of lock!

Allow multiple editing at the same time Facilities to merge changes later Reserved edit

Optional operation to provide exclusive access (by locking)

Page 6: Revision Control Systems Amin Tootoonchian Kian Mirjalali.

August 5, 2006 Revision Control Systems 6

Integration Integration with software engineering process and

other tools Deeper integration with IDEs by using plugins to

provide easy access to revision control system Plugins for Eclipse, Visual Studio, Netbeans

e.g. subversion plugin for eclipse

Page 7: Revision Control Systems Amin Tootoonchian Kian Mirjalali.

August 5, 2006 Revision Control Systems 7

Terms Repository Working copy Check-out Commit Change Change List Update

Merge/Integration Revision/Version Import Export Conflict Resolve Baseline

Page 8: Revision Control Systems Amin Tootoonchian Kian Mirjalali.

August 5, 2006 Revision Control Systems 8

Subversion Open Source instance of a version control system

Abbreviated to svn in reference to the name of its CLI Modern replacement for CVS

Shares a number of the same key developers

Page 9: Revision Control Systems Amin Tootoonchian Kian Mirjalali.

August 5, 2006 Revision Control Systems 9

Subversion – Features Atomic commits Renamed/copied/moved/removed files retain full

revision history Versioned directories, renames, and file metadata

Entire directory trees can be moved around and/or copied very quickly, and retain full revision history

Versioning of symbol links Full MIME support

Page 10: Revision Control Systems Amin Tootoonchian Kian Mirjalali.

August 5, 2006 Revision Control Systems 10

Subversion – Features (cont’d) Native support for binary files

Space-efficient binary-diff storage Apache HTTP server as network server Costs proportional to change size, not the data size Parsable output, including XML log output Open Source licensed File locking for unmergeable file

Reserved checkouts

Page 11: Revision Control Systems Amin Tootoonchian Kian Mirjalali.

August 5, 2006 Revision Control Systems 11

Subversion – Repository access Local or network file system, accessed directly WebDAV/DeltaV (over http or https)

mod_dav_svn module for apache2 Custom svn protocol

Plaintext Over SSH

Page 12: Revision Control Systems Amin Tootoonchian Kian Mirjalali.

August 5, 2006 Revision Control Systems 12

Subversion – Layers Fs

Lowest level Versioned file system which stores the user data

Repos Repository built up around the file system Helper functions/handles various hooks

File system interface = Fs + Repos mod_dav_svn

Page 13: Revision Control Systems Amin Tootoonchian Kian Mirjalali.

August 5, 2006 Revision Control Systems 13

Subversion – Layers (cont’d) Ra

Handles repository access both local and remote Client, Wc

Highest level Abstracts repository access Provides common client tasks Wc library used by the client to mange the working copy

Page 14: Revision Control Systems Amin Tootoonchian Kian Mirjalali.

August 5, 2006 Revision Control Systems 14

Subversion – File System Three dimensional

Two dimension Tree structure

Third dimension Each revision has its own root

Files Links to the most recent changes made Compactness

Transactions used to keep changes atomic

Page 15: Revision Control Systems Amin Tootoonchian Kian Mirjalali.

August 5, 2006 Revision Control Systems 15

ClearCase Rational Software Large and medium sized projects Two types:

UCM base ClearCase

Page 16: Revision Control Systems Amin Tootoonchian Kian Mirjalali.

August 5, 2006 Revision Control Systems 16

ClearCase – Views Versioned Object Base (VOB) Multi-version File System (MVFS) Dynamic views Snapshots View-private files Branch hierarchy

Page 17: Revision Control Systems Amin Tootoonchian Kian Mirjalali.

August 5, 2006 Revision Control Systems 17

ClearCase – Configuration Specifications For each view Collection of rules:

Visible elements in a view Which versions of these elements

“include” statement

Page 18: Revision Control Systems Amin Tootoonchian Kian Mirjalali.

August 5, 2006 Revision Control Systems 18

ClearCase – Features Configuration Record

Read files during the build are recorded. Dependency information Use:

Making other views Applying labels

Build Avoidance Copying over derived objects If they have the same configuration record

Page 19: Revision Control Systems Amin Tootoonchian Kian Mirjalali.

August 5, 2006 Revision Control Systems 19

ClearCase – Features (cont’d) Unix/Windows interoperability

Windows clients access by views *nix clients access by snapshot views

Integration with other products Rational Software

ClearQuest, Rational Rose, …

Microsoft Visual Studio Eclipse IDE

Page 20: Revision Control Systems Amin Tootoonchian Kian Mirjalali.

August 5, 2006 Revision Control Systems 20

References Wikipedia, the free encyclopedia Version Control with Subversion - 1.2, O’Reilly

Media IBM Software – Rational ClearCase Documentation

Page 21: Revision Control Systems Amin Tootoonchian Kian Mirjalali.

August 5, 2006 Revision Control Systems 21

The END…

Questions?Comments?

Points of view?