CVS, Logging, Development

Slides:



Advertisements
Similar presentations
Using Eclipse. Getting Started There are three ways to create a Java project: 1:Select File > New > Project, 2 Select the arrow of the button in the upper.
Advertisements

Debugging & Logging. Java Logging Java has built-in support for logging Logs contain messages that provide information to – Software developers (e.g.,
Version Control System Sui Huang, McMaster University Version Control SystemSui Huang, McMaster University Version Control System -- base on Subversion.
CVS Selim Çıracı Ahmet Kara Metin Tekkalmaz. CVS – Open Source Version Control System Outline What are Version Control Systems? And why do we need them?
23-Jun-15 Logging. What is logging? “Logging” is producing messages that tell you what your program is doing It’s not much different than using System.out.println(...)
26-Jun-15 Logging. What is logging? “Logging” is producing messages that tell you what your program is doing It’s not much different than using System.out.println(...)
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
13-Jul-15 Logging. What is logging? “Logging” is producing messages that tell you what your program is doing It’s not much different than using System.out.println(...)
Introduction to CVS Portions adapted from A Visual Guide to Version ControlA Visual Guide to Version Control.
SubVersioN – the new Central Service at DESY by Marian Gawron.
Version Control. What is Version Control? Manages file sharing for Concurrent Development Keeps track of changes with Version Control SubVersion (SVN)
Git for Version Control These slides are heavily based on slides created by Ruth Anderson for CSE 390a. Thanks, Ruth! images taken from
Version Control with Subversion. What is Version Control Good For? Maintaining project/file history - so you don’t have to worry about it Managing collaboration.
1 CVS Concurrent Versioning System CRASH COURSE! presented by Axel Polleres with improvements by Holger Lausen and Eyal Oren cf.
RUG Australia meeting 2012 Feb 6, V Tiers & sequencing suppliers Tiers and sequencing and load balancing  Tiers = groups of suppliers.
Unix Primer. Unix Shell The shell is a command programming language that provides an interface to the UNIX operating system. The shell is a “regular”
Unix Command Project Justin Rogers for LS 560 Spring 2015.
Implementing File and Print Services
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
1 SEG4912 University of Ottawa by Jason Kealey Software Engineering Capstone Project Tools and Technologies.
Drexel University Software Engineering Research Group Git for SE101 1.
Information Systems and Network Engineering Laboratory II DR. KEN COSH WEEK 1.
Chris Onions Getting started with CVS in ATLAS 11 Getting started with CVS in ATLAS Chris Onions (Tutorial based on that of Raúl Ramos Pollán CERN / IT.
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
An Intro to Concurrent Versions System (CVS) ECE 417/617: Elements of Software Engineering Stan Birchfield Clemson University.
Subversion (SVN) A Revision Control System Successor to CVS Carlos Armas Hervey Allen.
DireXions – Your Tool Box just got Bigger PxPlus Version Control System Using TortoiseSVN Presented by: Jane Raymond.
CVS – concurrent versions system Network Management Workshop intERlab at AIT Thailand March 11-15, 2008.
CSE 219 Computer Science III CVS
Logging1. 2 Introduction Ships must keep a written log telling speed, direction, destination, etc. –A kind of diary of the ship. Large programs should.
1 GIT NOUN \’GIT\ A DISTRIBUTED REVISION CONTROL AND SOURCE CODE MANAGEMENT (SCM) SYSTEM WITH AN EMPHASIS ON SPEED. INITIALLY DESIGNED AND DEVELOPED BY.
CVS – concurrent versions system AROC Guatemala July 19-23, 2010 Guatemala City, Guatemala.
CSE 436—Requirements and Version Control Systems Ron K. Cytron 26 September 2005.
1 CSE306 Operating Systems Projects CVS/SSH tutorial.
WinCvs. WinCVS WinCvs is a window based version control system. Use WinCvs when  You want to save every version of your file you have ever created. CVS.
Sabriansyah R.A Version Control. The Repository Subversion adalah sistem tersentralisasi untuk informasi sharing Repository adalah pusat penyimpanan data.
12 CVS Mauro Jaskelioff (originally by Gail Hopkins)
Version Control System
More Unix Naomi Altman. Directories Directory = folder mkdir - makes a new directory rmdir - removes an empty directory cd mydirectory - moves you into.
Recent Enhancements to Quality Assurance and Case Management within the Emissions Modeling Framework Alison Eyth, R. Partheepan, Q. He Carolina Environmental.
WinCVS Training è Basic Concepts è Download & Setup è Importing a new module into CVS Repository è Getting new module from CVS è Getting Latest version.
Introduction to Linux Server Setup Jonathan Hood CSE 4000 Practical Issues in Software Engineering.
Version Control Systems
Architecture Review 10/11/2004
Concurrent Versions System User guide for CS408
Version Control Systems
CVS – concurrent versions system
CReSIS Git Tutorial.
CVS – concurrent versions system
SVN intro (review).
An Intro to Concurrent Versions System (CVS)
CSE 303 Concepts and Tools for Software Development
Subversion.
Version Control Systems
Concurrent Version Control
Lab 1 introduction, debrief
Software Version System Part1: Subversion at CERN
An introduction to version control systems with Git
An introduction to version control systems with Git
slides borrowed and adapted from Alex Mariakis and CSE 390a
An introduction to version control systems with Git
Concurrent Version System (CVS)
Debugging & Logging.
CVS Concurrent Versioning System
Version Control System - Git
CSE 303 Concepts and Tools for Software Development
Shane Cantrell Zach Crisman
Concurrent Versions System
CS 240 – Advanced Programming Concepts
Presentation transcript:

CVS, Logging, Development Shane Cantrell Zach Crisman CSE403: CVS and Logging

What is a “Versioning System”? Records the history of files Shares code within a group Allows multiple people to edit the same files Merges changes from different people Goes back in time CSE403: CVS and Logging

The Alternative Saving every version of every file you have ever created Saving current state of project every so often Wasting disk space by duplicating unchanged portions of code Communicating manually to prevent coding conflicts Forgetting where the most recent version is or having group members “accidentally” choose an old version CSE403: CVS and Logging

Ways to Access CVS Command Line TortoiseCVS (www.tortoisecvs.org) Cygwin SSH Secure Shell Client 3.2.2 (full) TortoiseCVS (www.tortoisecvs.org) WinCVS (www.wincvs.org) CSE403: CVS and Logging

CVS Setup Environment Variables: Windows Examples: CVSROOT = <location of CVS repository> CVS_RSH = <remote shell> EDITOR = <default editor> Windows Examples: CVSROOT = :ext:shanec@vole.cs.washington.edu:/homes/iws/shanec CVS_RSH = ssh2.exe EDITOR = notepad.exe PATH = %PATH%;C:\cvs;C:\Programs\SSH CSE403: CVS and Logging

Common Commands Checkout module (get most recent version) cvs co <module-name> Update files (incorporate recent changes) cvs update <file-list> Commit files (publish your current files) cvs commit <file-list> Add new files to the module cvs add <file-list> cvs add –ko <binary file-list> Questions? Try ‘man cvs’ CSE403: CVS and Logging

Making a Repository Make your CVS directory Set CVSROOT to your CVS directory cvs init Tutorial http://www.cs.washington.edu/orgs/acm/tutorials/dev-in-unix/cvs.html (Typed commands are in italics.) CSE403: CVS and Logging

Adding a Module cvs checkout CVSROOT Edit the ./CVSROOT/modules file Add the line describing your module and location (eg. project project/ ) cvs commit CVSROOT cd $CVSROOT mkdir project (make the project directory) Set the file permissions (if necessary) with chgrp, chown, and chmod. CSE403: CVS and Logging

Adding files Checkout the module Add the new directories using cvs add Add the new files using cvs add Commit the new files CSE403: CVS and Logging

CVS Output Key U – the file was brought up to date P – the file was brought up to date via a patch A – the file has been added R – the file has been removed M – the file has not changed in the repository or it has changed in the repository but it was successfully merged C – the is a conflict between the repository version and your version ? – file note in repository, CVS does not know what to do with it CSE403: CVS and Logging

Message Logging in Java Chapter 13 of Tomcat J2SE 1.4 - java.util.logging standard logging library Jakarta Log4j previous “standard” System.out.println() lazy man’s technique CSE403: CVS and Logging

Why not System.out? No way of switching logging on or off at runtime No way of specifying logging priority or message severity apart from the message text Lacks special functionality (like e-mailing an administrator) Must be redirected into a file Must be removed when the product is released CSE403: CVS and Logging

Logging Levels Level.SEVERE (highest value) Level.WARNING Level.INFO Level.CONFIG Level.FINE Level.FINER Level.FINEST (lowest value) CSE403: CVS and Logging

Logging Classes java.util.logging.* Logger Handler Classes ConsoleHandler FileHandler SocketHandler Formatter Classes SimpleFormatter XMLFormatter CSE403: CVS and Logging

Getting the Logger Object class Logger public static Logger getLogger(String name) Creates a new Logger object if one does not already exist for name. If package type naming is used, then sub names inherit logging levels For example, “net.hydrus.test” would inherit the logging level setting from “net.hydrus” CSE403: CVS and Logging

Configuring the Logger ... convLogger.setLevel(Level.INFO); try { FileHandler logfile = new FileHandler(“F:/Tomcat/logs/conv.log”); logfile.setLevel(Level.INFO); logfile.setFormatter(new BasicFormatter()); convLogger.addHandler(logfile); convLogger.setUseParentHandlers(false); } catch (IOException e) { convLogger.warning(“Failed to set up logfile”); CSE403: CVS and Logging

Logging Messages class Logger public void severe(String msg) public void warning(String msg) public void info(String msg) public void config(String msg) public void fine(String msg) public void finer(String msg) public void finest(String msg) CSE403: CVS and Logging

Jakarta Libraries http://jakarta.apache.org/ Cactus (unit testing) http://jakarta.apache.org/cactus Apache XML Project http://xml.apache.org/ Regular Expressions (Regexp) Text Processing (ORO) Text Search Engine (Lucene) CSE403: CVS and Logging

LCO1 Considerations Be creative Midlet Considerations built-in GUI custom GUI phone specific libraries Server Considerations servlet traditional server database CSE403: CVS and Logging

LCO1 Reminders What is it? What does it do for us? How is it supposed to work? Is it possible? What is needed? How do you intend to go about making it? Who is it for? Are there support people involved in its functionality? Be sure to ask the questions throughout and clarify when in doubt of clarity. CSE403: CVS and Logging

Sneak Preview (Next Time) Bug Tracking elementool.com fogbugz.com Unit Testing jUnit (junit.sourceforge.net) Jakarta Cactus Other Tools... CSE403: CVS and Logging