LECTURE 13 OCT 18, 2010 A different take on more scripting stuff;& version control.

Slides:



Advertisements
Similar presentations
Introduction To GIT Rob Di Marco Philly Linux Users Group July 14, 2008.
Advertisements

LECTURE 14 OCT 22, 2010 Git, in graphic form. Change tracking basics.
Introduction to git Alan Orth Nairobi, Kenya September, 2010 version control for serious hackers ;)
2/6/2008Prof. Hilfinger CS164 Lecture 71 Version Control Lecture 7.
Version Control Systems Phil Pratt-Szeliga Fall 2010.
CVS II: Parallelizing Software Development Author: Brian Berliner John Tully.
Version Control with git. Version Control Version control is a system that records changes to a file or set of files over time so that you can recall.
1 CSE 390 “Lecture 11” Version control with Git slides created by Ruth Anderson, images from
Introduction to Git and Github Joshua imtraum.com.
BIT 285: ( Web) Application Programming Lecture 07 : Tuesday, January 27, 2015 Git.
Git for Version Control These slides are heavily based on slides created by Ruth Anderson for CSE 390a. Thanks, Ruth! images taken from
Fundamentals of Git By Zachary Ling 29 th, Aug,
Getting Started with GIT. Basic Navigation cd means change directory cd.. moves you up a level cd dir_name moves you to the folder named dir_name A dot.
Version control Using Git 1Version control, using Git.
Subversion. What is Subversion? A Version Control System A successor to CVS and SourceSafe Essentially gives you a tracked, shared file system.
علیرضا فراهانی استاد درس: جعفری نژاد مهر Version Control ▪Version control is a system that records changes to a file or set of files over time so.
With Mercurial and Progress.   Introduction  What is version control ?  Why use version control ?  Centralised vs. Distributed  Why Mercurial ?
Git – versioning and managing your software L. Grewe.
Git A distributed version control system Powerpoint credited to University of PA And modified by Pepper 8-Oct-15.
Version Control. What is it? Software to help keep track of changes made to files Tracks the history of your work Helps you collaborate with others.
ITEC 370 Lecture 16 Implementation. Review Questions? Design document on F, feedback tomorrow Midterm on F Implementation –Management (MMM) –Team roles.
Git (Get) it done right! Practical Applied Version Control for Drupal site developers Peter Chen - Stanford School of Engineering Technical Webmaster.
Source Control Primer Patrick Cozzi University of Pennsylvania CIS Spring 2012.
Version Control. How do you share code? Discussion.
F15 Modern Version Control with Git Andrew Benson Sign in on the attendance sheet!
Git workflow and basic commands By: Anuj Sharma. Why git? Git is a distributed revision control system with an emphasis on speed, data integrity, and.
SWEN 302: AGILE METHODS Roma Klapaukh & Alex Potanin.
Information Systems and Network Engineering Laboratory II DR. KEN COSH WEEK 1.
Version Control.
Team 708 – Hardwired Fusion Created by Nam Tran 2014.
1 Applied CyberInfrastructure Concepts ISTA 420/520 Fall
1 GIT NOUN \’GIT\ A DISTRIBUTED REVISION CONTROL AND SOURCE CODE MANAGEMENT (SCM) SYSTEM WITH AN EMPHASIS ON SPEED. INITIALLY DESIGNED AND DEVELOPED BY.
Version Control Systems. Version Control Manage changes to software code – Preserve history – Facilitate multiple users / versions.
Version Control System Lisa Palathingal 03/04/2015.
GIT.
Intro to Git presented by Brian K. Vagnini Hosted by.
Version Control. What is it? Software to help keep track of changes made to files Tracks the history of your work Helps you collaborate with others.
Version Control and SVN ECE 297. Why Do We Need Version Control?
Lecture 2 Making Simple Commits Sign in on the attendance sheet! credit:
Introduction to Git Yonglei Tao GVSU. Version Control Systems  Also known as Source Code Management systems  Increase your productivity by allowing.
SECTION 1: CODE REASONING + VERSION CONTROL slides borrowed and adapted from Alex Mariakis and CSE 390a Justin Bare & Deric Pang.
It’s not just an insult from Harry Potter!. What is Git? Distributed Version Control System (DVCS) – Compared to a Centralized Version Control System.
Information Systems and Network Engineering Laboratory I DR. KEN COSH WEEK 1.
Introduction to Git - Chirag Dani. Objectives Basics of Git Understanding different “Mindset of Git” Demo - Git with Visual Studio.
Technical Presentation by: David Spano. About Git (VCS) Simple Git Commands Branching Github Git GUI Summary.
Using Git with collaboration, code review, and code management for open source and private projects. & Using Terminal to create, and push commits to repositories.
DIGITAL REPOSITORIES CGDD Job Description… Senior Tools Programmer – pulled August 4 th, 2011 from Gamasutra.
BIT 285: ( Web) Application Programming Lecture 07 : Tuesday, January 27, 2015 Git.
Git A distributed version control system Powerpoint credited to University of PA And modified by Pepper 28-Jun-16.
Jun-Ru Chang Introduction GIT Jun-Ru Chang
GIT Version control. Version Control Sharing code via a centralized DB Also provides for Backtracking (going back to a previous version of code), Branching.
Discussion #11 11/21/16.
Version Control Systems
Code Management Releases
Discussion 11 Final Project / Git.
Version control, using Git
Software Engineering for Data Scientists
An introduction to version control systems with Git
Distributed Version Control with git
An introduction to version control systems with Git
An introduction to version control systems with Git
Git CS Fall 2018.
Version control with Git
Introduction to Git and GitHub
Git started with git: 2018 edition
Patrick Cozzi University of Pennsylvania CIS Fall 2012
Version Control with Git and GitHub
Git GitHub.
Presentation transcript:

LECTURE 13 OCT 18, 2010 A different take on more scripting stuff;& version control

But first… Whither the LTEE project? Many of you are still working out the details with Heather (and occasionally me) Those that aren’t should try running it. What do you all want the output to be?  Report?  2-5 minute presentation?  A general feeling of satisfaction? And when?

Class #2 The Ian and Charles show All BEACON grads, anywhere, must take the second class. (New) groups will be formed across discipline and institution boundaries View this class as a warm-up

Back to this class Where do you want this class to go? More practice? More Cool Science? More on programming?

Version control Think of it as Word’s “change tracking” on text files. Many different version control “systems” – Centralized:  Subversion  CVS Distributed:  git  Mercurial  Arch, Bzr, Darcs, …

Version control vocabulary Repository – location of all the files Working directory – copy of repository where you “do work” (make changes, use code, etc.)  Linked to the main repository  Created via a “checkout” or a “clone” command.  “Push” changes to the repository and “pull” changes from the repository.  Similar to “commit” (push) and “update” (pull) in Subversion

Github is a hosting service for git repositories I’m hosting the BEACON class scripts on github. This means that all of you can make a checked-out copy of the files. You can also pull updates. More on that in a bit. You can also sign up for github and make your own changes.

Other reasons to use version control It keeps a complete history of changes to the source code, so you can always go back and figure out when a feature was removed or a bug was introduced. You can “checkpoint” your source code for later reference (“this was the version I used for paper XXX”) You can “branch” your source code to work on independent features/scripts/etc., and then later on “merge”. It’s essential to multi-developer projects.

Other reasons to use version control, #2 It’s a backup! And with github and other hosting services, it’s a free backup! (But your code does have to be open source…) It’s a pretty convenient way to transfer files around.

Version control is critical to replication Being able to say “this code is identical to the code I ran a year ago” is really important! (Or, “this is the version I ran a year ago”) You can make that source code available to others quite easily via a version control system. It’s also nice to be able to see “hey, feature XXX isn’t working any more, and person YYY is the person who broke it.”

Version control isn’t a panacea! Just because it’s in version control doesn’t mean it’s right. Just making code available to someone doesn’t mean they can actually run it. Many people don’t include all their code.

beacon/ltee/run-next-2.py Parameters at top! Make sure that the parameters are not stupid!

beacon/ltee/run-next-2.py Load in the existing run dirs

beacon/ltee/run-next-2.py Make a new directory and copy the template to it.

beacon/ltee/run-next-2.py Use ‘dominant.dat’ to get the last update.

beacon/ltee/run-next-2.py Load the genomes into ‘all_organisms’ list.

beacon/ltee/run-next-2.py Self-explanatory!

beacon/ltee/run-next-2.py Seed Avida with the first organism.

Load in the instruction translation table: a => nop-A b => nop-B w => h-alloc etc

Here, we’re outputting the translation of ‘first_genome’ into the file ‘run.N-first.org’

Run-next-2.py Update the config file

Run-next-2.py Inject the rest!

Simple version control commands git clone - make a working copy git pull - update from repo git log- see log of changes git diff - see ‘diff’