Concurrent Versions System

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 6

CVS

Concurrent
Versions
System

CVS is:
See

http://wiki.astrogrid.org/bin/view/Astrogrid/CvsPrime
r

Based on a Copy-Modify-Merge model


where the developer:
Downloads copy of code
Modify code

NB simultaneously any other user can download,


update and then merge into Master repository

Merges with repository but user has to resolve


with any other incompatible changes

NOT Lock-Modify-Unlock

Details
Checkout

From a Repository
may be remote

Security mechanisms e.g.


anyone can read, but password
needed for write

Update
Commit

Mechanism - server
Repository maintains
differences between revisions
Maintains additional metadata
to identify each version
Also able to tag a whole group
of revisions e.g. Release Spring
2003
Allows one to copy any whole set
at any point in the future

User:
Checks out copy
Additional metadata is
kept in extra CVS
subdirectories

Documentation
Extracts from Starlink Wiki entries on CVS:

CVS home page (http://www.cvshome.org/) and CVS manual


(http://www.cvshome.org/docs/manual/index.html)
CVS FAQ-o- matic (http://www.loria.fr/~molli/fomserve/cache/1.html): recipes for simple and more arcane uses
Introductions:
Introduction to CVS (http://www.cvshome.org/docs/blandy.html)
by Jim Blandy
Open Source Development with CVS by Karl Fogel (good, free
chapters from a book of the same name).

Best practice

ACME, (http://www.enteract.com/~bradapp/acme/) source code


management best practices (encyclopaedic, but bewildering)
Specifically branching: Streamed Lines: Branching Patterns for
Parallel Software Development
(http://www.enteract.com/~bradapp/acme/branching/)
CVS Best Practices (http://www.magic-cauldron.com/cm/cvsbestpractices/index.html) is somewhat more compact than the
ACME guide, and correspondingly more opinionated

You might also like