CVS 簡介 數位芝麻網路公司蔡志展 2001/8/18 大綱 • CVS 簡介 • CVS 安裝 • CVS 設定 (Linux/Windows) • CVS 指令簡介 • CVS 多人環境的應用.

Slides:



Advertisements
Similar presentations
1 IST 410/420 Software Version Control 2 DevelopmentIntegration Test System Test User Acceptance Testing ProductionArchive DEVELOPMENTUSERS - Developers.
Advertisements

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.
Warren Jones, Fluke Co., Eugene Kramer, Remedy Co. Introduction to CVS 1999 Concurrent Versions System Overview of CVS architecture. Repository structure.
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.
Concepts of Version Control A Technology-Independent View.
2/6/2008Prof. Hilfinger CS164 Lecture 71 Version Control Lecture 7.
Concurrent Versioning System Chapter 8 (ALBING’s).
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?
6/27/20151 Doris Lee Concurrent Version System (CVS)
Version Control and Subversion Chris Coakley. Outline What is Version Control? Why use it? Using Subversion (SVN)
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
Source Code Management Or Configuration Management: How I learned to Stop Worrying and Hate My Co-workers Less.
1 CMPT 275 Software Engineering Revision Control.
Source Control Repositories for Enabling Team Working Svetlin Nakov Telerik Corporation
SubVersioN – the new Central Service at DESY by Marian Gawron.
Version Control. What is Version Control? Manages file sharing for Concurrent Development Keeps track of changes with Version Control SubVersion (SVN)
Source Code Revision Control Software CVS and Subversion (svn)
Prof. Aiken CS 169 Lecture 71 Version Control CS169 Lecture 7.
Version Control with git. Version Control Version control is a system that records changes to a file or set of files over time so that you can recall.
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.
Source Code Management with CVS Kurt Wiersma December 2004.
Introduction to Version Control
Version Control with Subversion Quick Reference of Subversion.
1 Lecture 19 Configuration Management Software Engineering.
Git – versioning and managing your software L. Grewe.
An Introduction to CVS By Durai Raj Has one of your projects ever experienced this ? Which is the latest version ?. God only knows (sometimes myself.
Version control Using Git Version control, using Git1.
Git workflow and basic commands By: Anuj Sharma. Why git? Git is a distributed revision control system with an emphasis on speed, data integrity, and.
Chris Onions Getting started with CVS in ATLAS 11 Getting started with CVS in ATLAS Chris Onions (Tutorial based on that of Raúl Ramos Pollán CERN / IT.
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
An Intro to Concurrent Versions System (CVS) ECE 417/617: Elements of Software Engineering Stan Birchfield Clemson University.
Subversion (SVN) A Revision Control System Successor to CVS Carlos Armas Hervey Allen.
Copyright © 2015 – Curt Hill Version Control Systems Why use? What systems? What functions?
SENG 403 Tutorial 1 1SENG 403 – Winter Agenda Version Control Basics Subversion Basic actions in Subversion Some examples 2SENG 403 – Winter 2012.
CVS – concurrent versions system Network Management Workshop intERlab at AIT Thailand March 11-15, 2008.
Team 708 – Hardwired Fusion Created by Nam Tran 2014.
CSE 219 Computer Science III CVS
Refactoring and Synchronization with the StarTeam Plug-in for Eclipse  Jim Wogulis  Principal Architect, Borland Software Corporation.
CVS – concurrent versions system AROC Guatemala July 19-23, 2010 Guatemala City, Guatemala.
Version Control Systems. Version Control Manage changes to software code – Preserve history – Facilitate multiple users / versions.
1 CSE306 Operating Systems Projects CVS/SSH tutorial.
CVS: Concurrent Version System Lecturer: Prof. Andrzej (AJ) Bieszczad Phone: “UNIX for Programmers and Users” Third.
Sabriansyah R.A Version Control. The Repository Subversion adalah sistem tersentralisasi untuk informasi sharing Repository adalah pusat penyimpanan data.
12 CVS Mauro Jaskelioff (originally by Gail Hopkins)
CVS Commands 數位芝麻網路公司蔡志展 2001/8/18 CVS Commands • add • Add a new file/directory to the repository • admin • Administration front end for rcs • annotate.
Introduction to Git Yonglei Tao GVSU. Version Control Systems  Also known as Source Code Management systems  Increase your productivity by allowing.
WinCVS Training è Basic Concepts è Download & Setup è Importing a new module into CVS Repository è Getting new module from CVS è Getting Latest version.
Recitation 2: Abhijit Warkhedi2/25/20161 Today’s Agenda u CVS u GDB.
Warren Jones, Fluke Co., Eugene Kramer, Remedy Co. Introduction to CVS 1999 Revised by David Svoboda 2003 Concurrent Versions System Overview of CVS architecture.
Source Control Repositories for Enabling Team Working Doncho Minkov Telerik Corporation
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.
Concurrent Versions System User guide for CS408
CVS – concurrent versions system
CVS – concurrent versions system
SVN intro (review).
LECTURE 2: Software Configuration Management
Version Control System using Git
Concurrent Version Control
Version Control System
Akshay Narayan git up to speed with RCS Akshay Narayan
LECTURE 3: Software Configuration Management
Revision Control Daniel Daugherty
Concurrent Version System (CVS)
CVS Concurrent Versioning System
Subversion Basics Guide
Concurrent Versions System
數位芝麻網路公司 蔡志展 2001/8/18 CVS Setup 數位芝麻網路公司 蔡志展 2001/8/18.
Presentation transcript:

CVS 簡介 數位芝麻網路公司蔡志展 2001/8/18

大綱 • CVS 簡介 • CVS 安裝 • CVS 設定 (Linux/Windows) • CVS 指令簡介 • CVS 多人環境的應用

CVS 簡介 • What is CVS ? • Idea of CVS • Benefits, Fancy features

What Is Concurrent Versions System ? • Version controll system • Multi-developer environment

Version Management • Software Development • Website Management • Documentations • Synchronization of distributed effort •... anywhere digital data evolves

Requirements for VC • Multiple Developers - concurrent Access • History • View diffs • Rollback changes • Release Management

Idea of CVS • The idea of the CVS is to create a filesystem, where each file has remembers all the modifications made to it. In other words it is all the versions of it at the same time. • Filesystem resides in a repository, that can be stored to local or remote host. • All the files are edited outside of the repository in some working directory and in some phase synchronized with the repository. • Files are moved to, from and updated from repository with special tool called cvs, which is available for most platforms

So What is it good for ? • Version controll and connecting multiple developer together in one project, of course :) • Document management and archiving • Nice way to do one project with multiple machines and still manage the versions • Allows free experimenting on project • Following the growth of the project • Backupping - it forces one to take backups with neglible work very often

Benefits of CVS • Automatic, constant and forced backupping • When programming, frees the development • Gives freedom to choose afterwards, when the program is ready • Saves all the versions for later use • Clean way of saving only the necessary files and managing projects • Gives freedom to develop on multiple machines simultaneously

Fancy Features • Multiple developer support (file locking, etc.) • Bonsai - www-interface (for example see Gnome project) • Keyword substitutions • Development of several version at the same time • Multiplatform-support (works even on obscure platforms like Windows)

Essential CVS Terminology - Repository • CVS stores all files in a centralized directory called the repostiory. The directory is defined by the environment variable $CVSROOT.

Essential CVS Terminology - Module •Modules are just the toplevel directories in the Repository. •You can combine multiple modules in your own directory structure. See documentation for CVSROOT/modules  incorporate generic libraries in your own sourcetree, but be able to maintain them individually. • The files in the repository are organized in modules. Each module is made up of one or more files, and can include files from several directories. A typical usage is to define one module per project.

Version Numbers • Every file in a CVS repository can contain many versions, which are given version numbers in form x.y[.x.y[...]]. •The history of each file is tracked with an incrementing revision number •For each revision there is a log entry •Revision numbers have the format 1.25 if they're on the main trunk, branches have something like

Version Numbers • Version numbering is automatic i.e. number y is automatically incresed avary time file is changed:

Release Management •marking important stages in the development e.g. milestones, code freezes or actual releases •We want to reproduce the same state later. •making bug-fix releases, starting at a specific release. •newly added files should not show up in the old release •files which are deleted in the meantime should still show up if we reproduce the old state.

Tags •A Tag is simply a symbolic name for a specific revision •Tagging all files in one directory or module marks the current stage. •Can be used as synonym for a revision in any CVS-command •cvs tag applies the tag to the current revision of each file • Version numbers can be treated as a internal information in CVS and only symbolic names - tags for version used to mark releases.

Branches • Version number can contain more than two numbers to mark branches. • Branch can start from any version and start depeloping independently from the rest of the software. • In some point of the development of a branch, it can be merged to main trunk in necessary.

Interaction with the repository • Check out • Syntax : cvs checkout [options] module... • Add • Syntax : cvs add [options] file... • Remove • Syntax : cvs remove [options] [file...] • Examine status • Syntax : cvs status [options] [file...]

Interaction with the repository – count. • Update • Syntax : cvs update [options] [file...] • Check in (commit) • Syntax : cvs commit [options] [file...] • Release module • Syntax : cvs release [options] module... • Import module • Syntax : cvs import [options] repository_dir vendor_tag release_tag • Export module • Syntax : cvs export [options] module...

Conflict Resolution •Conflicts are rare, since most concurrent editing is done at different places in the file •usually easy to resolve - if not, there seems to be a communication problem in the group in general •On conflict, both parts are shown in the file, to be resolved by hand. See demo.

References •CVS-Site • •WinCVS Windows Client •

Q&A Your time.