Anonymous CVS

From WeBWorK_wiki
Jump to navigation Jump to search

Our CVS repositories contain a complete history of WeBWorK and problem library development (since June 2001) as well as the latest bleeding-edge versions. They are available via the web or by using a CVS client.

To check out a module from CVS, run the following command:

cvs -d :pserver:anoncvs@cvs.webwork.rochester.edu:/webwork/cvs/repository_name checkout module_name

Replace repository_name and module_name with values from the article List of CVS repositories hosted by The WeBWorK Project.

For example, to check out the webwork2 and pg modules from the system repository, and the rochester_problib module from the rochester repository, type:

cvs -d :pserver:anoncvs@cvs.webwork.rochester.edu:/webwork/cvs/system checkout webwork2
cvs -d :pserver:anoncvs@cvs.webwork.rochester.edu:/webwork/cvs/system checkout pg
cvs -d :pserver:anoncvs@cvs.webwork.rochester.edu:/webwork/cvs/rochester checkout rochester_problib

To update to a new version, such as the version rel-2-4-patches, type:

cvs update -dP -r rel-2-4-patches

in the directory to be updated (usually the webwork2 directory or the pg directory). -d checks out new directories. -P deletes ("prunes") empty directories.

Typically a '-patches' release will be conservatively updated between releases to include bug fixes, but not new features. The problem libraries don't use release tags or branches. See the -A option below.

Updates take place automatically (except for the configuration files in the directory webwork2/conf. Files such as global.conf and database.conf may need to be compared to the updated files global.conf.dist and database.conf.dist in order to manually make changes to the local configuration.

cvs -n update -dP -r rel-2-4-patches

will show what files would change during an update with out actually changing the files. You can also use this to determine which files you have modified locally. (They will be marked with an M.) The files which will be changed are preceeded by a letter. The letters stand for:

  • M — The local copy of the file has been modified, but the CVS server's copy has not been changed. This indicates that you have made some local modifications to this file.
  • U — A copy of this file will be downloaded from the CVS server
  • P — The local copy of this file will be "patched" so that it agrees with the copy on the CVS server. This has the same affect as the U letter, but it is faster, since only portions of the file actually need to be downloaded in order to bring the local file up to date.
  • C — There is a conflict between changes which you have made locally and changes which have been made on the CVS server file. If you update this file you will need to examine it with a text editor in order to reconcile the two different versions. (Search for the characters ====== — they indicate a region where changes have been made in both files.)

Files which have not been modified will not be listed.

cvs update -dP -A

will give you the very latest feature changes and bugs. Use cautiously.

cvs update -dP -r rel-2-4-patches

will take you back to the stable release.

Consult the CVS manual for more information on using CVS.