CVS ?? - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

CVS ??

Description:

Version controll and connecting multiple developer together in one project, of course : ... See documentation for CVSROOT/modules ... – PowerPoint PPT presentation

Number of Views:32
Avg rating:3.0/5.0
Slides: 23
Provided by: rext
Category:
Tags: cvs

less

Transcript and Presenter's Notes

Title: CVS ??


1
CVS ??
  • ????????
  • ???
  • ltchihchun_at_digitalsesame.comgt
  • 2001/8/18

2
??
  • CVS ??
  • CVS ??
  • CVS ?? (Linux/Windows)
  • CVS ????
  • CVS ???????

3
CVS ??
  • What is CVS ?
  • Idea of CVS
  • Benefits, Fancy features

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

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

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

7
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

8
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

9
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

10
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)

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

12
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.

13
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
    1.33.2.16

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

1.1
1.2
1.3
1.4
1.5
15
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.

16
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 lttagnamegt 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.

17
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.

18
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 ...

19
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 ...

20
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.

21
References
  • CVS-Site
  • lthttp//www.cvshome.org/gt
  • WinCVS Windows Client
  • lthttp//www.wincvs.org/gt

22
QA
  • Your time.
Write a Comment
User Comments (0)
About PowerShow.com