Introduction to Introduction to CVS CVS 03/30/22 1 UMBC CMSC 341
Introduction to Introduction to CVSCVS
04/19/23 1UMBC CMSC 341
Outline• Introduction to Source Code Management
• What is CVS?
• CVS for Project Submission• Basic commands
• Checkout, Add, Commit, Update◦ How to use CVS using Putty◦ How to use CVS using Eclipse
04/19/23 UMBC CMSC 341 2
What is Source Code Management• SCM : Also known as revision or
source control
• So, why should you use one?
04/19/23 UMBC CMSC 341 3
What is CVS?
• Concurrent Versioning System (CVS) is one of the earlier SCM systems which gained wide adoption
• Advantages– Open source– Easy to install and use– Simple command line client– Wide integration in a lot of development
tools
04/19/23 UMBC CMSC 341 4
CVS for Project submissionCVS for Project submissionTerminology used
◦Repository◦Server◦Client◦Working Directory
Some of the options available to connect to the repository◦Command-line using Putty◦Through Eclipse IDE
04/19/23 5UMBC CMSC 341
CVS CommandCVS Command• The general form of CVS commands is:
– All CVS commands start out with “cvs”– Commands may also have flags and/or
arguments which modify their behavior
• For a more help…– General help: cvs --help– List of commands: cvs --help-commands
04/19/23 UMBC CMSC 341 6
cvs [cvs-options] command [command-options-and-arguments]
Basic commandsBasic commandscheckout : Pull resources from the
repository and create a working copy
add : place a resource under version control
update : Pull down changes from the repository into your working copy
commit: Check files into the repository
04/19/23 UMBC CMSC 341 7
Command-line using Putty
Steps to be followed◦ Log in using Putty◦ Edit the .cshrc file : Add alias javac
usr/local/bin/javac
04/19/23 UMBC CMSC 341 8
Command-line using PuttyCommand-line using PuttyStep 1: cd changes your working directory
to home directoryStep 2: cvs -d
/afs/umbc.edu/users/r/b/rberge1/pub/cs341s10/Proj0 checkout -d MyProj0 your_username
04/19/23 9UMBC CMSC 341
Command-line using PuttyCommand-line using Putty Step 3: cd MyProj0 Change to your project
directory Step 4 : mkdir src Step 5: cd src Step 6: Create a java file called Proj0.java and type in
a simple java code. Let the package name be ‘firstproject’. Save the file in the src folder.
04/19/23 UMBC CMSC 341 10
Step 9: Edit build.xmlStep 9: Edit build.xml
04/19/23 11UMBC CMSC 341
Command-line using PuttyCommand-line using Putty Step 10: Compile the code using
ant compile Step 11: Run the code using
ant run
04/19/23 UMBC CMSC 341 12
Command-line using PuttyCommand-line using Putty Step 12 : Add files to the repository:
◦ Step 12.1 cvs add build.xml
◦ Step 12.2 cvs add src/
◦ Step 12.3 cd src
◦ Step 12.4 cvs add Proj0.java
◦ Step 12.5 cvs commit –m ‘some text’
04/19/23 UMBC CMSC 341 13
Command-line using PuttyCommand-line using PuttyStep 13: Check if Proj0.java is added to the
repository◦ Go to src folder in MyProj0◦ Remove Proj0.java◦ Run ‘cvs update’◦ You should get back Proj0.java from the
repository
04/19/23 UMBC CMSC 341 14
EclipseEclipseEclipse has a built-in perspective
for CVS◦All of the developer downloads come
with it pre-installed
(The following directions are for the Eclipse Ganymede Eclipse IDE for Java Developer
release)
Eclipse – CVS PerspectiveEclipse – CVS PerspectiveTo open the CVS repository
perspective select Window Open Perspective Other…
Eclipse – CVS PerspectiveEclipse – CVS PerspectiveSelect CVS Repository Exploring
Eclipse – Adding a Eclipse – Adding a RepositoryRepositoryTo add a repository, right click on the CVS
Repositories pane and select New Repository Location…
Eclipse – Connection Eclipse – Connection SettingsSettingsType in the parameters to
connect to the remote repositoryFor example…
◦ Host: linux.gl.umbc.edu◦ Repository Path:
/afs/umbc.edu/users/r/b/rberge1/pub/cs341s10/Proj0/
◦ User: Your GL/myUMBC username◦ Password: Your GL/myUMBC password◦ Connection type: extssh
Save the password if you wish
Eclipse – Connection Eclipse – Connection SettingsSettings
Eclipse – Viewing Eclipse – Viewing RepositoriesRepositoriesYou should now see the repository
under the CVS Repositories Pane
Eclipse – Checking OutEclipse – Checking OutExpand the repository, expand HEAD, select
your module (username) then right click and choose Check Out As…
Eclipse – Checking Out Eclipse – Checking Out (continued)(continued)Be sure to use the New Project Wizard,
click Finish…
Eclipse – Checking Out Eclipse – Checking Out (continued)(continued)Select to check out the module
as a Java Project
Eclipse – Checking Out Eclipse – Checking Out (continued)(continued)Name the project and click
Finish…
Eclipse – Checked Out Eclipse – Checked Out CodeCodeSwitch back to the Java Perspective
and you will see the module checked out as a project◦ Note the little orange cylinders – that
indicates that it’s under version control
Eclipse – New ResourcesEclipse – New Resources• Just like with the command line, items
that are not know to be under CVS control are marked with a “?” symbol– Such as the Eclipse generated src folder
Eclipse – SynchronizingEclipse – SynchronizingTo commit to or update from the repository,
right click on the project and choose Team Synchronize with Repository
Eclipse – Committing Eclipse – Committing ResourcesResourcesHere we see an outgoing arrow indicating
that this needs to be pushed to the repository◦ Commits and updates can be performed by right
clicking
Eclipse – SynchronizedEclipse – SynchronizedIf all is in sync, you should see the “No
Changes” dialog as shown below…
Thank you!Thank you!
04/19/23 UMBC CMSC 341 31