next up previous contents
Next: Software Setup Up: CVS Version Control for Previous: Contents   Contents


Version control is a special kind of software used to track and manage changes. In our case, CVS version control is used to track any sort of change made to our web sites, whether it's a single edit of one file to fix a typo, or a series of adjustments to a project where several files, folders, and graphics are added to (or removed from) the site.

In an uncontrolled site where multiple authors have access to edit and contribute, the potential for conflict and problems arises--more so when these authors work from different offices at different times of day and night. You may spend the day improving the file index.html for a customer. After you've made your changes, another developer who works at home after hours, or in another office, may spend the night uploading their own newly revised version of the file index.html, completely overwriting your work with no way to get it back!

Figure 1: uncontrolled vs. controlled site development
\includegraphics[height=1.5in]{/home/sean/documents/ongoing/howto-cvs/figures/cvs-uncontrolled-site.eps} \includegraphics[height=1.5in]{/home/sean/documents/ongoing/howto-cvs/figures/cvs-controlled-site.eps}

With the same site under CVS version control, the late-night author will be alerted to a conflict with the file index.html, presented with the exact parts of the index.html file that are causing a problem, and asked to adjust their work to incorporate anything you added and committed to the site while working on it earlier in the day.

If a customer needs to remove a recently added page or content area for legal reasons--or if they simply prefer an earlier version of their site--CVS can be used to restore the entire site to any previous state of their choosing, rolling back multiple variations and edits by all authors until a satisfactory site can be put back in place.

To work as a web author on a site under CVS version control, you install the CVS program and use it to transfer a working copy of the site (or subsite) to your desktop computer. Whenever your work is ready to commit to the live site, you issue a single instruction that checks for changes by other authors and uploads your work across the network to a central site repository. If there are potential conflicts between your work and another author, you are given a chance to resolve those problems by editing the files in question and sending them back. The CVS program also makes it easy to update your working copy of a site (or subsite) and merge any changes from the master copy--proactively preventing version conflicts.

The Apache HTTP Server Project1 and the upcoming source release of Netscape Communicator2 are two of many well-known computer programs with countless lines of code and dozens of authors who entrust the management of their work to a CVS-based system. Our needs, to manage a few web sites, are humble by comparison and CVS serves us well. Basic version control features are beginning to appear in the advanced (expensive, proprietary, and platform-specific) web authoring packages such as NetObjects TeamFusion and Macromedia DreamWeaver. Companies like Netscape Communications, Inc. have used CVS to manage their own web development since the early days.3Understanding version control, particularly CVS, is an essential ability in distributed collaborative work such as web development. Using CVS should improve your cooperation with other ICG consultants and add another bullet of impressive jargon to your resumé.

next up previous contents
Next: Software Setup Up: CVS Version Control for Previous: Contents   Contents

copyright © 1997-1999 sean dreilinger.