Version Control Systems: Subversion

Similar documents
This Lecture. G52GRP : Lecture 3. Sharing Code and Documents (2) Sharing Code and Documents (1)

Class Projects: Project 2 and Version Control Systems

Digital Asset Management 7. Interactive Media and Game Development process

Agile Oracle BI Development for Multiple Users with Git. Yes, it can be done

Bazaar. Distributed Version Control. Andrew Bennetts 5th April, Introduction Bazaar: Distributed Version Control The End

advanced All you need to know about branching, merging and DV CS FOR GAME DEVELOPERS

Contribute to CircuitPython with Git and GitHub

DEPARTMENT OF PUBLIC SAFETY DIVISION OF FIRE COLUMBUS, OHIO. SOP Revision Social Media Digital Imagery

Celtx Studios Owner's Manual January 2011

CSE 125 Boot Camp. Or: How I Learned to Stop Worrying and Love The Lab

Legacy FamilySearch Overview

Heidi Hasting. Bringing source control to BI world!

Infoblox and Ansible Integration

1 Lab + Hwk 4: Introduction to the e-puck Robot

INTERFACING WITH INTERRUPTS AND SYNCHRONIZATION TECHNIQUES

Associate. Application Instructions. Programme

Presentation Title: Polarion Customization at Vorwerk (presented by GARANTIS IT Solutions)

Set Up Your Domain Here

Protocols. Graphical programming for Icy. a.k.a. programming, for the rest of us

Can I Change My Wordpress Theme Without Losing Content

Kids Choice Awards ios Apps

AUTOMATION ACROSS THE ENTERPRISE

Let s dive in and get your site up and running!

Top Search Websites Client Worksheet

PAGE 1 THE PERFECT WORDPRESS DEVELOPMENT WORKFLOW

Managing Multiple Blogs

Cisco IP Interoperability and Collaboration System: Release 4.5

CSSE220 BomberMan programming assignment Team Project

HIGH Converting Video Script Formula

Ansible Tower Quick Setup Guide

INTRODUCTION. Welcome to Subtext the first community in the pages of your books.

Introduction: So now, what exactly is blogging and why do you want to get into it. Potential of Blogging:

MODULE 5 FACEBOOK PROMOTION AND MARKETING STRATEGIES

CS Game Programming, Fall 2014

MITOCW watch?v=g2noqcegscm

Utilizing Capture-The-Flag (CTF) Competitions In The Classroom

30. New Media Tagging in RootsMagic 5 Recorded 15 Mar 2012, 34 minutes, 26.5 MB

Autodesk Civil 3D Project Management Workflow Using Autodesk Vault

FamilySearch Tools for Advanced Users

Flash Blaster II v.2.00 for the Falcon digital console Falcon ENGLISH

VT DINING GAMING PROJECT

Cloud and Devops - Time to Change!!! PRESENTED BY: Vijay

Getting started with AutoCAD mobile app. Take the power of AutoCAD wherever you go

BUILDING A KILLER TRANSLATOR WEBSITE

LinkedIn Social Selling Linkedin Session 2 -Managing Your Settings Tagging And Groups

My Earnings from PeoplePerHour:

Creating a One-Name Website

Ansible Tower Quick Setup Guide

Making Domino Designer work like you want

Table of Contents PAGE 3 How to Launch a WordPress Blog. Quickly and Easily PAGE 3 What You ll Need PAGE 3 Domain name and hosting setup PAGE 3

Kameleono. User Guide Ver 1.2.3

Imagine it, and we will make it happen

Scalable and Lightweight CTF Infrastructures Using Application Containers

EASY WEBSITE FOR MAKERS & UPCYCLERS

Inkpebble Documentation

BEC Practice Test Vantage

Winthrop Primary School

Transaction Log Fundamentals for the DBA

igdb-api Documentation

HCA Tech Note 102. Checkbox Control. Home Mode aka Green Mode

Thank you, Honorable Chairperson Being a good team member

e!cmi - web based CATIA Metaphase Interface

Splunk ConfiguraAon Management and Deployment with Ansible

Ansible at Scale. David Melamed Senior Research Engineer, CTO Office, CloudLock

PIVX Zerocoin (zpiv) Technical Paper

The Soulful Storytellers' Blog-Building Playbook

Trenton Public Schools. Fifth Grade Technological Literacy 2013

KELLER REALTY WILLIAMS. Getting Started on Twitter. Brought to you by Keller Williams Realty

Compression. Encryption. Decryption. Decompression. Presentation of Information to client site

python-goodreads Documentation

Pros and Cons for Each Type of Image Extensions

CET Designer for Sales. Brooke Snow Configura

Multiplayer Game Design and Development CSC 631/831. Lecture 1 Spring 2016

8share.com. *Disclamer: This copy is not for sale. It is for your personal reference only.

Origami. for Joomla! Theme Documentation. Version 1.0 Last Updated: November 4, gothemeteam.com

A FACEBOOK GUIDE FOR SALONS

88 Satellite Deployment and Frequency Licensing for Planet's Earth Imaging Constellation

2/13/2015. Marianne Costello President The VA Collaborative. What Should You Delegate. When Should You Delegate. Tips For Effective Delegation

Cooking gets digital. Food becomes transparent. And much more... 06/09/12 EveryCook Page 1 of 6

Indiana K-12 Computer Science Standards

HASHICORP TERRAFORM AND RED HAT ANSIBLE AUTOMATION Infrastructure as code automation

User Interface for Multi-Agent Systems: A case study

Splunk and Ansible. Joining forces to increase implementation power. Rodrigo Santos Silva Head of Professional Services, Tempest Security Intelligence

ITU-TRCSL Training on ICTs for promoting Innovation & Entrepreneurship

WORDPRESS FOR ABSOLUTE BEGINNERS. By Kyle M. Brown

INSTRUCTIONS FOR USE OF A ROLLING STOCK PACK FOR TRAIN SIMULATOR 2016

Spring 06 Assignment 2: Constraint Satisfaction Problems

Instructions for using The George Institute s Data Collection App Version 1.2

MULTI CLOUD AS CODE WITH ANSIBLE & TOWER

Voter Registration: A How-To Guide

NOTICE: THIS REPORT IS COPYRIGHT OF ANGELA WILLS & MARKETERS MOJO

Arup is a multi-disciplinary engineering firm with global reach. Based on our experiences from real-life projects this workshop outlines how the new

Introducing EdgeBSD. FOSDEM 2014 Brussels, Belgium. Pierre Pronchery February 1 st Introducing EdgeBSD (CC BY-NC-SA)

UNIGIS University of Salzburg. Module: ArcGIS for Server Lesson: Online Spatial analysis UNIGIS

By Pamela Baker for The Birch Cottage

Synchronization in distributed SDR for localization applications

Globulation 2. Free software RTS game with a new take on micro-management

Arduino Day. GIT-HUB Day

for Your Indoctrination Series

How To Handbook For Learners

Transcription:

Version Control Systems: Subversion Xabriel J. Collazo Mojica 1

Outline Introduction Document management CMS Wiki Aigaion Code and Document Repositories Version Control Systems Centralized Distributed Unison Synchronization 2

Document Management Content Management System (CMS) Manage content: Documents Multimedia files: images, videos, etc. Web content in general Basic principles: Separation of content and presentation Intuitive web-based interface for uploading, editing, and managing content Foster collaboration among teams Wikipedia Articles written collaboratively by volunteers around the world. Most content can be edited by anyone. Difference between wiki and blog? Aigaion - http://www.aigaion.nl A Web based bibliography management system. 3

Document Management Code and Document Repositories: Version Control Systems (VCS) You might already have it: Resume200708.doc Resume200801.doc Etc. Or maybe something more sophisticated: Proyecto_ver1 Proyecto_final Proyecto_final2 This doesn t work!! Not for software projects, at least 4

Version Control Systems (VCS) Backup and Restore You backup your files in a repository and checkout a working copy. Synchronization Share files with team members; by more sophisticated methods than e-mail and a pen drive! Track ownership Files are tagged with log messages and author/developer IDs. Track changes You have a history of your files with log messages. Undo changes Go back in time to any point! Branch and merge Create a sandbox to work in without interrupting your teams work. 5

Version Control Systems (VCS) Centralized VCS CVS SVN Subversion: CVS done right. Perforce etc. Distributed VCS SVK Git Mercurial etc. 6

Centralized VCS Basic Interaction Juan and Elena want to work on the database project, but they don t want to e-mail / pen drive each other every change. They decide to use a Centralized VCS. Juan imports the first version. Now a common copy is available for all users. Elena checks out a working copy. She makes changes and commits. Juan makes changes too, but before committing, he updates his working copy. Bosses (aka Nayda and Fernando) don t do work (as usual ), but they are always watching progress. So, he makes a checkout and updates frequently. 7

Centralized VCS Basic Interaction Import Put a project in Version Control for the first time. Check-out Get a working copy from the repo. Commit = Check-in Put changes on the repo. Update Get latest changes from the repo. 8

Centralized VCS Basic Scenario Suppose we have a file list.txt The image represents four revisions checked in. Photo taken from: Better Explained [1] 9

Centralized VCS Basic Work Cycle Photo taken from: Better Explained [1] 10

Centralized VCS Basic Work Cycle Photo taken from: Better Explained [1] 11

Centralized VCS Basic Work Cycle Photo taken from: Better Explained [1] 12

Centralized VCS Advanced Work Cycle Photo taken from: Better Explained [1] 13

Subversion: Tools and Resources TortoiseSVN - http://tortoisesvn.tigris.org Easy to use svn GUI software for windoze. Subclipse - http://subclipse.tigris.org/install.html Eclipse SVN Plugin by developers of subversion. Version Control with Subversion - http://svnbook.red-bean.com Free on-line book by O Reilly 14

Subversion: Experimental Repo Setup ICOM 5047 Subversion access (Remote URL): https://capstone.ece.uprm.edu/svnroot/icom5047/ss08/<project> Will follow conventional structure: /project/trunk /branches /tags Go to the following address to make the request: https://cga.ece.uprm.edu/admin/send_password_form.html Requested resource field: capstone repo: <desired_repo_name> Reference field: e.g., Nayda Santiago or Fernando Vega or Manuel Rodríguez 15

Subversion: Best Practices Always update BEFORE committing. If after updating there are conflicts, its YOUR duty to solve them. Always commit WORKING code. NEVER break the code in the trunk. Use branches for long term development cycles that will break the code. Always append COMMENTS (log messages) to your commits. Inspect what you are committing. Please remember NEVER to include auto-generated files, such as *.class binaries. 16

Distributed VCS (DVCS) New trend in VCS Many distributed VCS server/clients. Linus Torvalds - http://www.youtube.com/watch?v=4xpnkhjaok8 Very biased, opinionated, and demeaning perspective about non-dvcs users, but useful information never the less. 17

VCS vs DVCS Differences Pros Allows disconnected (off-line) operations with the repository, since every client contains a copy of the entire repository. Branches are natural and don t have to be published. Merge algorithms are more robust. Cons Developers can run off and hide for too long then merging becomes overwhelmingly difficult. It is not centralized! Who has the official version of the repository? Graphical tools (GUIs) are still lacking a bit. A compromise: Benefit from both models using DVCS tools. You can implement a good policy that enforces a centralized model and frequent commits, while taking advantage of the DVCS distributed tools flexibility. 18

VCS vs DVCS Differences Photo taken from: Better Explained [1] 19

VCS vs DVCS Differences Photo taken from: Better Explained [1] 20

Unison Synchronization Not everything worth backing up is worth saving with history Unison - http://www.cis.upenn.edu/~bcpierce/unison File-synchronization tool for Unix and Windows. Allows two replicas of a collection of files and directories to be stored on different hosts (or different disks on the same host), modified separately, and then brought up to date by propagating the changes in each replica to the other. 21

Conclusions Some tools where presented to help manage your documents and code files. You should start using software such as these to prevent chaos and disaster. It should be second nature after a while and very rewarding. Everyone here is required to have at least there code in a Subversion repository, which will be created when requested through the form presented previously. 22

References [1] Better Explained http://betterexplained.com/articles/a-visual-guide-to-version-control http://betterexplained.com/articles/intro-to-distributed-version-control-illustrated 23

Questions? 24