Transcript here

Introduction to
CVS
7/26/2016
UMBC CMSC 341
1
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
7/26/2016
UMBC CMSC 341
2
What is Source Code Management
• SCM : Also known as revision or source
control
• So, why should you use one?
7/26/2016
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
7/26/2016
UMBC CMSC 341
4
CVS for Project submission

Terminology used
◦
◦
◦
◦

Repository
Server
Client
Working Directory
Some of the options available to connect
to the repository
◦ Command-line using Putty
◦ Through Eclipse IDE
7/26/2016
UMBC CMSC 341
5
CVS Command
• The general form of CVS commands is:
cvs [cvs-options] command [command-options-and-arguments]
– 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
7/26/2016
UMBC CMSC 341
6
Basic commands
checkout : 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

7/26/2016
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
7/26/2016
UMBC CMSC 341
8
Command-line using Putty


Step 1: cd  changes your working directory to home
directory
Step 2: cvs -d
/afs/umbc.edu/users/y/p/ypeng/pub/cs341s11/Proj0
checkout -d MyProj0 your_username
You will get two files copied to MyProj0: a junk and a
build file
7/26/2016
UMBC CMSC 341
9
Command-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.
7/26/2016
UMBC CMSC 341
10
Build file


Step 7: if the build file you checked out is build.txt, then
mv build.txt build.xml
Step 8 : edit build.xml (change the value of main.class)
Step 3: cd MyProj0  Change to your
project directory
Step 4 : mkdir src
7/26/2016
UMBC CMSC 341
11
Command-line using Putty


Step 9: Compile the code using
ant compile
Step 10: Run the code using
ant run
7/26/2016
UMBC CMSC 341
12
Command-line using Putty

Step 11 : Add files to the repository:
◦ Step 11.1 cvs add build.xml
◦ Step 11.2 cvs add src/
◦ Step 11.3 cd src
◦ Step 11.4 cvs add Proj0.java
◦ Step 11.5 cvs commit –m ‘some text’
7/26/2016
UMBC CMSC 341
13
Command-line using Putty

Step 12: 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
7/26/2016
UMBC CMSC 341
14
Eclipse

Eclipse 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 Perspective

To open the CVS repository perspective select
Window  Open Perspective  Other…
Eclipse – CVS Perspective

Select CVS Repository Exploring
Eclipse – Adding a Repository

To add a repository, right click on the CVS Repositories
pane and select New  Repository Location…
Eclipse – Connection Settings
Type in the parameters to connect to the
remote repository
 For example…

◦ Host: linux.gl.umbc.edu
◦ Repository Path:
/afs/umbc.edu/users/y/p/ypeng/pub/cs341s11/Proj0/
◦ User:Your GL/myUMBC username
◦ Password: Your GL/myUMBC password
◦ Connection type: extssh

Save the password if you wish
Eclipse – Connection Settings
Eclipse – Viewing Repositories

You should now see the repository under the
CVS Repositories Pane
Eclipse – Checking Out

Expand the repository, expand HEAD, select your
module (username) then right click and choose Check
Out As…
Eclipse – Checking Out (continued)

Be sure to use the New Project Wizard, click
Finish…
Eclipse – Checking Out (continued)

Select to check out the module as a Java
Project
Eclipse – Checking Out (continued)

Name the project and click Finish…
Eclipse – Checked Out Code

Switch 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 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 – Synchronizing

To commit to or update from the repository, right click
on the project and choose Team  Synchronize with
Repository
Eclipse – Committing Resources

Here 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 – Synchronized

If all is in sync, you should see the “No
Changes” dialog as shown below…
Thank you!
7/26/2016
UMBC CMSC 341
31