Warmup. A programmer s wife tells him, Would you mind going to the store and picking up a loaf of bread? Also, if they have eggs, get a dozen.

Similar documents
Section 2: Developer tools and you. Alex Mariakakis (staff-wide)

SECTION 2: CODE REASONING + PROGRAMMING TOOLS. slides borrowed and adapted from Alex Mariakis and CSE 390a

SECTION 1: CODE REASONING + VERSION CONTROL + ECLIPSE

SECTION 1: CODE REASONING + VERSION CONTROL

SECTION 1: CODE REASONING + VERSION CONTROL

SECTION 2: HW3 Setup.

SECTION 2: Loop Reasoning & HW3 Setup

SECTION 2: Loop Reasoning & HW3 Setup

CS 261 Recitation 1 Compiling C on UNIX

Department of Computer Science College of Engineering Boise State University

Intro to Linux & Command Line

LAB 0: LINUX COMMAND LINE AND SVN

TDDC88 Lab 4 Software Configuration Management

Revision Control. An Introduction Using Git 1/15

Revision Control. Software Engineering SS 2007

Intermediate Programming, Spring Misha Kazhdan

2/9/2013 LAB OUTLINE INTRODUCTION TO VCS WHY VERSION CONTROL SYSTEM(VCS)? II SENG 371 SOFTWARE EVOLUTION VERSION CONTROL SYSTEMS

Lecture 01 - Working with Linux Servers and Git

History. Terminology. Opening a Terminal. Introduction to the Unix command line GNOME

CSE 331 Software Design & Implementation

User Guide Version 2.0

CSCI 4152/6509 Natural Language Processing. Lab 1: FCS Computing Environment

Version Control Systems (VCS)

CSE 390 Lecture 9. Version control and Subversion (svn)

Revision Control and GIT

Version Control with Git

AMath 483/583 Lecture 2. Notes: Notes: Homework #1. Class Virtual Machine. Notes: Outline:

AMath 483/583 Lecture 2

Version control. what is version control? setting up Git simple command-line usage Git basics

What is Subversion and what does it do?

Source control with Subversion A user perspective

Lecture 2: Data in Linguistics, Git/GitHub, Jupyter Notebook. LING 1340/2340: Data Science for Linguists Na-Rae Han

Pieter van den Hombergh. September 9, 2015

CS480. Compilers Eclipse, SVN, Makefile examples

CSCI 2132: Software Development. Norbert Zeh. Faculty of Computer Science Dalhousie University. Subversion (and Git) Winter 2019

Introduction to the Linux Command Line

VSO. Configuration Management

Section 5: HW6 and Interfaces. Slides adapted from Alex Mariakakis, with material from Krysta Yousoufian, Mike Ernst, Kellen Donohue

Agenda. - Final Project Info. - All things Git. - Make sure to come to lab for Python next week

CSE 332: Data Structures and Parallelism Winter 2019 Setting Up Your CSE 332 Environment

CS108, Stanford Handout #37. Source Control CVS

Git AN INTRODUCTION. Introduction to Git as a version control system: concepts, main features and practical aspects.

Git AN INTRODUCTION. Introduction to Git as a version control system: concepts, main features and practical aspects.

Subversion Repository Layout

Lab 1 1 Due Wed., 2 Sept. 2015

CSE 374 Programming Concepts & Tools. Hal Perkins Winter 2012 Lecture 16 Version control and svn

How to version control like a pro: a roadmap to your reproducible & collaborative research

Lab Objective. Lab Assignment. Downloads and Installation

Using git to download and update BOUT++

CMSC 104 Lecture 2 by S Lupoli adapted by C Grasso

Software Development I

Lab 08. Command Line and Git

Version Control Systems

February 2 nd Jean Parpaillon

Version Control. CSC207 Fall 2014

Systems Programming and Computer Architecture ( ) Exercise Session 01 Data Lab

CPSC 491. Lecture 19 & 20: Source Code Version Control. VCS = Version Control Software SCM = Source Code Management

Version Control System GIT

Introduction: What is Unix?

Linux hep.wisc.edu

9 and 11-Jan CSCI 4152/6509 Natural Language Processing Lab 1: FCS Computing Environment, SVN Tutorial. FCS Computing Environment, SVN Tutorial

Software Tools Subversion

CS CS Tutorial 2 2 Winter 2018

Introduction to the UNIX command line

Using Subversion with LeMANS and MONACO

Parallel Programming Pre-Assignment. Setting up the Software Environment

INET

A Practical Introduction to Version Control Systems

Human-Computer Interaction Design

AMS 200: Working on Linux/Unix Machines

Unix/Linux Operating System. Introduction to Computational Statistics STAT 598G, Fall 2011

Git. Charles J. Geyer School of Statistics University of Minnesota. Stat 8054 Lecture Notes

Git & Github Fundamental by Rajesh Kumar.

Object-Oriented Programming: Revision. Revision / Graphics / Subversion. Ewan Klein. Inf1 :: 2008/09

COSC UNIX. Textbook. Grading Scheme

213/513/613 Linux/Git Bootcamp. Cyrus, Eugene, Minji, Niko

Subversion. Network Monitoring & Management

Version Control Systems (Part 1)

Using the Zoo Workstations

And check out a copy of your group's source tree, where N is your one-digit group number and user is your rss username

Using GitHub to Share with SparkFun a

Portions adapted from A Visual Guide to Version Control. Introduction to CVS

Introduction to Version Control

Essential Linux Shell Commands


Tools for software development:

Submitting your Work using GIT

Human-Computer Interaction Design

Session 1: Accessing MUGrid and Command Line Basics

FEEG Applied Programming 3 - Version Control and Git II

Using Subversion for Source Code Control

Software Revision Control for MASS. Git Installation / Configuration / Use

School of Computing Science Gitlab Platform - User Notes

Chapter 3. Revision Control

Git. CSCI 5828: Foundations of Software Engineering Lecture 02a 08/27/2015

CS 320 Introduction to Software Engineering Spring February 06, 2017

Object Oriented Programming. Week 1 Part 2 Git and egit

12/7/09. How is a programming language processed? Picasso Design. Collaborating with Subversion Discussion of Preparation Analyses.

Version control with Git.

Lab Exercise Git: A distributed version control system

Transcription:

Warmup A programmer s wife tells him, Would you mind going to the store and picking up a loaf of bread? Also, if they have eggs, get a dozen. The programmer returns with 12 loaves of bread.

Section 2: Developer tools and you Alex Mariakakis cse331-staff@cs.washington.edu (staff-wide)

Introductions SSH clients PuTTY UNIX Source control SVN Demo + questions Outline

What is an SSH client? Uses the secure shell protocol (SSH) to connect to a remote computer o Enables you to work on a lab machine from home o Similar to remote desktop Windows and Linux users: PuTTY and WinSCP o Windows and Linux users Mac users: Terminal application o Go to Applications/Utilities/Terminal o Type in ssh XY csenetid@attu.cs.washington.edu

What is UNIX? Command-line based operating system o Like Windows or Mac OS without the mouse Command pwd ls cd cp mv rm mkdir rmdir man What it does prints the name of the working directory lists the files in a directory (i.e., lists stuff) changes a directory copies a file or directory move/rename a file or directory removes a file make a new directory remove an empty directory pulls up the manual pages

DEMO #1 http://courses.cs.washington.edu/courses/cse331/1 4wi/tools/WorkingAtHome.html

What is source control? Also known as version control/revision control System for tracking changes to code o Software for developing software Essential for managing projects o See a history of changes o Revert back to an older version o Back up your work o Merge changes from multiple sources We ll be talking about Subversion, but there are alternatives Git, Mercurial, CVS Email, Dropbox, USB sticks

Source control organization A repository stores the master copy of the project o Someone creates the repo for a new project o Then nobody touches this copy directly o Lives on a server everyone can access Each person checks out her own working copy o Makes a local copy of the repo o You ll always work off of this copy o The version control system syncs the repo and working copy (with your help) Working copy Repository svn Working copy

commit Source control common actions Most common commands: Commit / checkin o integrate changes from your working copy into the repository Update o integrate changes into your working copy from the repository update Repository svn Working copy

add, delete Source control common actions (cont.) More common commands: Add, delete o add or delete a file in the repository o just putting a new file in your working copy does not add it to the repo! Revert o wipe out your local changes to a file Resolve, diff, merge o handle a conflict two users editing the same code revert Repository svn Working copy

How to use Subversion 1. Eclipse plugin: Subclipse 2. GUI interface: TortoiseSVN, NautilusSVN 3. Command line: PuTTY

This Quarter We distribute starter code by adding it to your repo You will code in Eclipse just as you would have in your previous classes You turn in your files by adding them to the repo and committing your changes You will validate your homework by SSHing onto attu and running an Ant build file

DEMO #2 http://www.cs.washington.edu/education/courses/ cse331/14wi/tools/versioncontrol.html

Theoretical Scenario You are working on a computer in the lab and feel like you are at a good stopping point. You hit Save on your computer and start driving to Canada, only to realize that you forgot to commit your changes to your repo. Do you have to turn around and drive back?

Theoretical Scenario You are working on a computer in the lab and feel like you are at a good stopping point. You hit Save on your computer and start driving to Canada, only to realize that you forgot to commit your changes to your repo. Do you have to turn around and drive back? SSH into the attu, change to your eclipse workspace directory, and then call svn commit