Welcome:
  Home Page
  Our Project
  Grant Page
  GWEN
  Jobs
People:
  Directory
  Mail Lists
  Advisory Board
Documents:
  Publications
  Presentations
  Newsletter
  Movies
Links:
  Other Networks
  Software Links
  CVS
Meetings:
  Past
  Upcoming
Projects:
Network:
  Initial Data
  Black Holes
  Neutron Stars
  PN Theory
Related:
  Cactus
  A.S.C.
  GridLab
Internal:
  Resources
Contact:
  General
  WebMaster
Legal Notice
   Please read

The Concurrent Versions System
CVS

This page describes why you should be using CVS, and what you should be using it for. Once you've read this, you will want to know:

What Is It?

CVS (The Concurrent Versions System) is a version control system, which allows you to keep old versions of files (usually text files), keep a log of who, when, and why changes occurred, etc. Unlike simpler systems, CVS does not just operate on one file at a time or one directory at a time, but operates on hierarchical collections of directories consisting of version controlled files. CVS helps to manage and control the concurrent editing of files among multiple authors. CVS can be used securely over a wide area network, with configurable permissions for who can access and add to files.

CVS is Open Source (and free!!) and available for all platforms.

The Network repository is maintained at the AEI, please direct any questions about it to Gabrielle and Peter.

Who Should Be Using It?

  • Anyone who writes papers, uses or develops software, maintains web pages, works on different computers, ... basically everyone.
  • Anyone with ten minutes to spare to learn the four commands you need to get stuff from a CVS repository and commit new stuff back.

What Is It Good For

  • Maintaining Web Pages: A team of people at different sites can all contribute to a set of web pages, and be easily aware of what everyone else is doing. You can keep an up-to-date copy of the web pages on your laptop, and so can quickly add new information, and just sync it up next time you're on line.
  • Reading Web Pages Offline: Keep a copy of all the web pages you work with on your laptop, then not only can you keep them up-to-date, you've also got all the information at hand for viewing offline with a browser.
  • Writing Papers: We find CVS essential now for writing papers (with LaTeX) with more than one author. You don't have to keep track of the "current version" and send it around continuously, everyone can add text and make changes without worrying about merging it all back together. You don't need to worry about loosing control of the changes which are being made either ... it is easy to see what each individual has added, and you can remove it easily if you don't like it.
  • Working With Multiple Machines: If you have a laptop and a desktop, you can use CVS to keep the important stuff in sync without getting confused, or overwriting the latest version of your files.
  • Access From Anywhere: If your documents, codes, papers are maintained in CVS you can get at them from any machine, any where in the world ... you just need a network connection.
  • Collaborations: If you work with other people CVS is an easy way to distribute information without keep sending files via Email. You can give anyone access to checkout from the repository (on a directory basis if you want).
  • Software Development: If you are developing any kind of software, whether you're one person working on a 500 line code, or part of a large multi-institute collaboration developing a large framework, you have to use some kind of a versioning system. Anything else is foolhardy. The reasons are too many to put down, but here's a few
    • You have a back up of the code
    • You can get back to a version of the code from any date
    • You can see the difference between code at any two dates
    • You can reproduce results from any time in the past !!
    • You have a log of changes to every file
    • You can distribute your code easily
    • You can trivially incorporate patches from others
    • You can develop as a team

Examples

At the AEI we use CVS for:

  • These EU Network Web Pages
  • Our Institute web pages, the Numerical Relativity Group web pages, Living Reviews, the Cactus Code web pages.
  • Our bibtex database of references.
  • Group papers and proposals.
  • Private CVS modules for personal papers, CVs, codes, etc.
  • Software development and distribution for Cactus
  • The Numerical Relativity Groups own private Cactus Thorns
  • Visualization tools and software



This work has been supported by the EU Programme 'Improving the Human Research Potential and the Socio-Economic Knowledge Base' (Research Training Network Contract HPRN-CT-2000-00137).