31
Introduction to Introduction to CVS CVS 03/27/22 1 UMBC CMSC 341

Introduction to CVS

Embed Size (px)

DESCRIPTION

Introduction to CVS. 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. What is Source Code Management. - PowerPoint PPT Presentation

Citation preview

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/y/p/ypeng/pub/cs341s11/Proj0 checkout -d MyProj0 your_usernameYou will get two files copied to MyProj0: a junk and a build file

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

Build fileBuild file

04/19/23 11UMBC CMSC 341

Step 3: cd MyProj0 Change to your project directoryStep 4 : mkdir src

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)

Command-line using PuttyCommand-line using Putty Step 9: Compile the code using

ant compile Step 10: Run the code using

ant run

04/19/23 UMBC CMSC 341 12

Command-line using PuttyCommand-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’

04/19/23 UMBC CMSC 341 13

Command-line using PuttyCommand-line using PuttyStep 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

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/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 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