8
Version Control Systems with Subversion (SVN) and Tortoise

Version Control Systems

Embed Size (px)

DESCRIPTION

Version Control Systems. with Subversion (SVN) and Tortoise. Overview. A repository is a version controlled collection of files (e.g., source code, data, configuration files, executables, etc.). Version controlled: Each version of each controlled file is kept is a manner that allows users to - PowerPoint PPT Presentation

Citation preview

Page 1: Version Control Systems

Version Control Systems

with Subversion (SVN) and Tortoise

Page 2: Version Control Systems

Overview

A repository is a version controlled collection of files (e.g., source code, data, configuration files, executables, etc.).Version controlled: Each version of each

controlled file is kept is a manner that allows users to

Document version changes Check for modifications Compare differences between versions Merge versions/resolve version conflicts Rollback to earlier versions

Page 3: Version Control Systems

Overview

Version control is valuable in situations where Teams want to co-develop code, documents, etc. Tracking and documenting changes is important The ability to roll back changes may be necessary The “safety net” of a central backup is desired

SVN repositories are centralized, meaning there is one master copy and any number of local (or working) copies. The master copy resides on the SVN server Local copies reside on client hosts

Page 4: Version Control Systems

Creating the Master Repository

The master repository can be created on any machine that can act as a host server (most any networked computer) The master should be universally available In this class, we use joseph has the SVN server

Joseph is widely available to students and faculty on and off campus

Integration with Apache allows for browsing the repository from the web or management by an SVN client

Set up instructions for an SVN repository are on-line at our course web site (here).

Page 5: Version Control Systems

Creating the Working Repository

The working (or local) repository (or copy) can be created via an “SVN Checkout” command on any machine with an SVN client There are a multitude of SVN clients --- TortoiseSVN being

one of the most popular Clients also exist as plug-ins for common IDEs such as Eclipse,

NetBeans, Visual Studio

Tortoise is an extension to Windows Explorer which adds SVN functionality to the right-click menu

Set up instructions for Tortoise are on-line at our course web site (here).

Page 6: Version Control Systems

Typical Change Process

Client checks out master repository (once) as a local copy

Client makes changes to local filesClient commits changes (whole or in part)

to master copy.Changes are accepted immediately (no

conflict)Changes are not accepted, because of

editing conflicts (files need to be merged)

Page 7: Version Control Systems

Gotchas

Mismatched commits Textually exclusive (but logically incompatible)

changes to separate files

Using multiple SVN clients on the same local copy Multiple clients can corrupt the local repository

Keeping multiple local copies Confuses users as to which copy is the active

repository. Rather trust the VCS to distinguish among versions.

Page 8: Version Control Systems

Demo

Creating the master repository Creating the working copy

Head revision versus named revision

Adding files to the repository Document changes

Browsing the repository Updating Making changes/committing

Checking differences Merging files