SVN intro (review).

Slides:



Advertisements
Similar presentations
TortoiseSVN By Group 1 Team B. Installing TortoiseSVN.
Advertisements

Intro to Version Control Have you ever …? Had an application crash and lose ALL of your work Made changes to a file for the worse and wished you could.
 Please sit next to your partner.  If you don’t have a partner, please find one now.
1. What is Subversion? Why do we need CM? Basic concepts Repositories Options Setup Clients Options Setup Operation Troubleshooting Slide 2.
Version Control System (Sub)Version Control (SVN).
David Notkin Autumn 2009 CSE303 Lecture 22 Subversion is an open source version control system. Social Implications Friday version control system.
2/6/2008Prof. Hilfinger CS164 Lecture 71 Version Control Lecture 7.
Subversion Takes Back the Night How Version Control makes web development better.
Source Control Repositories for Enabling Team Working Svetlin Nakov Telerik Corporation
SubVersioN – the new Central Service at DESY by Marian Gawron.
By Steven Campbell and Erik Boone.  Sharing projects by putting them into a central repository.  Checking out copies of projects from the repository.
Version Control. What is Version Control? Manages file sharing for Concurrent Development Keeps track of changes with Version Control SubVersion (SVN)
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.
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.
The Design Workshop Introduction to Version Control 1.
Version Control with Subversion Quick Reference of Subversion.
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
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.
Version control Using Git Version control, using Git1.
Subversion (SVN) Tutorial Source:
…using Git/Tortoise Git
SWEN 302: AGILE METHODS Roma Klapaukh & Alex Potanin.
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
Version Control Menggunakan TortoiseSVN
Subversion (SVN) A Revision Control System Successor to CVS Carlos Armas Hervey Allen.
SENG 403 Tutorial 1 1SENG 403 – Winter Agenda Version Control Basics Subversion Basic actions in Subversion Some examples 2SENG 403 – Winter 2012.
DireXions – Your Tool Box just got Bigger PxPlus Version Control System Using TortoiseSVN Presented by: Jane Raymond.
FILES AND ASSETS PANELS
Team 708 – Hardwired Fusion Created by Nam Tran 2014.
CSE 219 Computer Science III CVS
Subversion is a free/open-source version control system. It manages files and directories, and the changes made to them, over time. This allows you to.
Version Control with SVN Images from TortoiseSVN documentation
By: Anuj Sharma. Topics covered:  GIT Introduction  GIT Benefits over different tools  GIT workflow  GIT server creation  How to use GIT for first.
Version Control Reducing risk with version control Jon Austin
Copyright © Curt Hill Tortoise SVN A Subversion Client.
When collaborating, it is important to manage changes in the models. For example: –To create or edit a submodel E.g. Habitat suitability is replaced with.
Intro to Git presented by Brian K. Vagnini Hosted by.
L.T.E :: Learning Through Experimenting Using google-svn for MtM Docs Development Denis Thibault Version 3.2 Mar 12 th, 2009.
Sabriansyah R.A Version Control. The Repository Subversion adalah sistem tersentralisasi untuk informasi sharing Repository adalah pusat penyimpanan data.
Version Control and SVN ECE 297. Why Do We Need Version Control?
Introduction to Git Yonglei Tao GVSU. Version Control Systems  Also known as Source Code Management systems  Increase your productivity by allowing.
WinCVS Training è Basic Concepts è Download & Setup è Importing a new module into CVS Repository è Getting new module from CVS è Getting Latest version.
Subversion (SVN) is a widely used version control system and an essential piece of the MIMES collaborative modeling environment. It allows us to manage.
1 CSE 303 Lecture 19 Version control and Subversion ( svn ) slides created by Marty Stepp
(1) Introduction to Subversion (SVN) and Google Project Hosting Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences.
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
Source Control Repositories for Enabling Team Working Doncho Minkov Telerik Corporation
© CGI Group Inc. User Guide Subversion client TortoiseSVN.
1 Subversion Kate Hedstrom April Version Control Software System for managing source files –For groups of people working on the same code –When.
GIT Version control. Version Control Sharing code via a centralized DB Also provides for Backtracking (going back to a previous version of code), Branching.
Source Control Dr. Scott Schaefer. Version Control Systems Allow for maintenance and archiving of multiple versions of code / other files Designed for.
Subversion Subversion is a brand of version control software that is frequently used to store the code and documentation of a project so as to permit.
Subversion for administrators
Version Control with Subversion
ILC TDR SVN repository roll-out
Source Control Dr. Scott Schaefer.
Version Control with Subversion (SVN)
Version control, using Git
Subversion.
Macaualy2 Workshop Berkeley 2017
Storing, Sending, and Tracking Files Recitation 2
Concurrent Version Control
slides borrowed and adapted from Alex Mariakis and CSE 390a
User Guide Subversion client TortoiseSVN
Subversion Basics Guide
Git CS Fall 2018.
Version Control System - Git
Prof. Hilfinger CS164 Lecture 4
Using GitHub for Papyrus Models Jessie Jewitt – OAM Technology Consulting/ ARM Inc. January 29th, 2018.
Presentation transcript:

SVN intro (review)

What is it? Software versioning + revision control software Jobs (some are done external to SVN): File repository Track revisions Rollback Log changes Atomic changes Merging changes from multiple users Best at text-files, but works with binary.

Repository A place to store data svn protocol + server => remote access For us, on niobium (206.21.94.41) svn://svn.ssucet.org/my_repository Contains several "setting" files User accounts + password Preferences (e.g. access-level for anonymous users)

SVN client Options: terminal access GUI through SSH built-in in Linux (and OSX?) GUI TortoiseSVN on Windows …

Checkout Creates a local copy TortoiseSVN The same user can have multiple local copies Only done once Contains many (.svn) folders in each directory No touching these files! TortoiseSVN Create a directory (normal) Right-click on it, select "SVN checkout" Enter the svn repository URL Depending on repo properties, you may have to enter uname/pass Wait!

Update Applies new changes (committed from other users / local copies) to a local copy. Done after the initial checkout Should be done often At a minimum before new coding Every 15 minutes or so? Easier to merge changes if done frequently.

Update, cont. In tortoise, you will see something like: Colors: Black: updated a file that you haven't changed Purple: added a new file Green: SVN was able to merge your local changes and the repository changes automatically (double-check it) Brown: A file was deleted Red: Conflict that SVN can't resolve. DON'T IGNORE IT (by clicking OK)

Update, cont. Double-click on an Added file and you will see:

Resolving conflicts Double-click on the conflicted file to enter the editor. Right click on blocks to merge (or type manually) Click save button and mark-as-resolved button, then close window.

Update to Revision Like Update, but updates to a previous (non-head) revision Shouldn't undo local changes (use revert for this)

Revert Remove any local changes to (a) file(s). Can be reverted to head revision, or a previous revision.

Commit Propogate local changes to repository Do an update first! Make sure you enter a log message! You can double-click the file to see changes. RevisionNumber++

Deleting / Renaming Files Must be done through SVN, not normal OS facilities. TortoiseSVN: Right-click on the file Go to Tortoise SVN => Rename… to delete SVN actually deletes and then adds the file Go to Tortoise SVN => Delete… to delete Make sure you do a commit!

Log viewing Right click on a File or directory TortoiseSVN => Show Log Click a revision to show files modified/added/deleted (if a directory) Double-click the lines in bottom pane to view changes in the editor.

Common problems to avoid If you have local changes to xyz.txt and do an update… your version is more current, so SVN should either: Merge changes from the server (if anyone changed it and SVN can resolve) Mark as a conflict (if anyone changed it and SVN can't resolve) Leave it alone otherwise. Don't use the TortoiseSVN => Blame feature! Small / frequent commits are easier than infrequent / huge commits.

SVN etiquette Put message on every commit Talk to anyone working on the same code you are. Avoids duplicated work Avoids stomping on their code Good for the project Don't commit broken code (unless absolutely necessary) Better to comment the broken code out. Don't use SVN in place of face-to-face communication with other users.

Branching / Tagging Tagging Branching Marking a revision number with a name e.g. "Stable version 1.8" Branching Making a copy (cheap copy) of a revision Changes made to the trunk (where you branched from) should propogate to the branches You can merge a branch back into the trunk.