Obliterate Julian Foad WANdisco or Let's Pretend I Didn't Do That.

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.
1 Deciding When to Forget in the Elephant File System University of British Columbia: Douglas. S. Santry, Michael J. Feeley, Norman C. Hutchinson, Ross.
This presentation will take a look at to prevent your information from being discovered by and investigator.
ENTERPRISE CLOUD DEVELOPMENT CollabNet TeamForge Git Integration Dharmesh Sheta CollabNet Engineering Office Potsdam, Germany History Protection 1.How.
Feature requests for Case Manager By Spar Nord Bank A/S IBM Insight 2014 Spar Nord Bank A/S1.
om om GIT - Tips & Tricks / git.dvcs git-tips.com
Source Control Repositories for Enabling Team Working Svetlin Nakov Telerik Corporation
SubVersioN – the new Central Service at DESY by Marian Gawron.
Git for Version Control These slides are heavily based on slides created by Ruth Anderson for CSE 390a. Thanks, Ruth! images taken from
Chapter - 2 What is “GIT” VERSION CONTROL AND GIT BASICS.
Version Control with Subversion Quick Reference of Subversion.
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.
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
Prepared by: Steve Teo Contributors: Tong Huu Khiem.
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.
Triggers A Quick Reference and Summary BIT 275. Triggers SQL code permits you to access only one table for an INSERT, UPDATE, or DELETE statement. The.
CVS – concurrent versions system Network Management Workshop intERlab at AIT Thailand March 11-15, 2008.
Archiving is downloading, keeping and protecting s that you are receiving or sending so they can be accessed at another time. Archiving.
Microsoft Visual SourceSafe “(VSS) does not eliminate the need for discipline and coordination. It only makes discipline and coordination easier to live.
Version Control with SVN Images from TortoiseSVN documentation
CVS – concurrent versions system AROC Guatemala July 19-23, 2010 Guatemala City, Guatemala.
L.T.E :: Learning Through Experimenting Using google-svn for MtM Docs Development Denis Thibault Version 3.2 Mar 12 th, 2009.
M ORAL AND ETHICAL ISSUES. Use and Abuse of Personal and Private Data All the information stored on Computer is governed by law or legislation. The main.
Slide 1 Running NEMO at ECMWF Slide 1 NEMO under Perforce at ECMWF Kristian S. Mogensen Last revised:
Oracle 10g Database Administrator: Implementation and Administration Chapter 10 Basic Data Management.
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
Enterprise Portal Training Managing Collaboration Project Document Versions Use arrows to go forward or back 1.
Source Control Repositories for Enabling Team Working Doncho Minkov Telerik Corporation
1 Ivan Marsic Rutgers University LECTURE 2: Software Configuration Management.
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED ADMINISTRATION.
Problem Solving With C++ SVN ( Version Control ) April 2016.
10 Copyright © 2007, Oracle. All rights reserved. Managing Undo Data.
Getting Started with Git Presented by Jim Taylor Rooty Hollow, Owner Verizon Wireless, Senior Programmer/Analyst Git User for 6 years.
Computing in High Energy and Nuclear Physics 2012 May 21-25, 2012 New York United States The version control service for ATLAS data acquisition configuration.
Git Girish Git VCS that I have used ClearCase, cvs, svn Happy p4 user.
Obliterating History in Subversion Julian Foad October 2009.
Source Control Dr. Scott Schaefer. Version Control Systems Allow for maintenance and archiving of multiple versions of code / other files Designed for.
Subversion (svn) Basics Department of Computer Science Kent State University Prof. Jonathan I. Maletic.
4 Version control (part 1)
Concurrent Versions System User guide for CS408
Jonathan Walpole Computer Science Portland State University
Version Control with Subversion
CVS – concurrent versions system
CVS – concurrent versions system
SVN intro (review).
LECTURE 2: Software Configuration Management
Source Control Dr. Scott Schaefer.
Version Control with Subversion (SVN)
Tortoise SubVersion Client Again
Subversion User Training
CVS revisions UML diagram
Subversion.
Storing, Sending, and Tracking Files Recitation 2
Concurrent Version Control
Software Version System Part1: Subversion at CERN
Version Control System
LECTURE 3: Software Configuration Management
Introduction to Configuration Management
Compilers, Make and SubVersion
Git Best Practices Jay Patel Git Best Practices.
Subversion Basics Guide
Version Control System - Git
Prof. Hilfinger CS164 Lecture 4
Version Control with Git
Version Control with Git and GitHub
Git Introduction.
Introduction to The Git Version Control System
Presentation transcript:

Obliterate Julian Foad WANdisco or Let's Pretend I Didn't Do That

Overview ● Why obliterate? – Reasons fall into three categories ● How to obliterate? – Delete files or undo changes ● Alternatives – How it's done in CVS and P4 – How it's done in Svn now

Why? ● Requested... – since pre-1.0 – by many on mailing list over the years – by big companies & organisations ● Reasons stated... – hide secrets – undo accidental large additions – remove old data to reduce repos size – work flow needs only recent version(s)

Why? ● Alternatives... – can do in CVS (crudely), p4, CC,... – in Svn, authz can hide files ● Counter-arguments... – is not “pure” version control ● and “store only latest” is not VC at all – is “dangerous” if mis-used (audit trail)

Why? Hide a Secret ● What happened? – committed a customer's private data in a company-wide repository, – committed copyrighted material to a public repository. ● What's needed? – Hide that file first, – (may require swift action), – then plan the permanent fix.

Why? Recover Space ● What happened? – added large, generated files, – imported to wrong repository, – split the repos, – a large project became redundant. ● What's needed? – Reclaim server disk space. – Can be a planned event.

Doesn't need to build B/obj or C/obj B/src B/obj C/src C/obj A/src A/obj Why? Latest Version ● Project structure: – moduleA/ ● src/... ● obj/... – moduleB/... – moduleC/... test update commit build work on A

Why? Latest Version ● What's happening? – frequently revising a large file – never need old versions of it ● What's needed? – configure to store only latest version – make “update” work without deltas ● Why? – convenience (could do outside svn)

How? Delete Files

How? Undo Changes

What CVS/P4 Users Do ● CVS: Delete the “,v” file (delete a file) ● Perforce: “p4 protect” (can hide file-rev) ● Perforce: “p4 obliterate” (delete file-rev) ● Perforce: “p4 filetype” (latest N revs) ● CC: “rmversion” (delete a node-rev) ● CC: “rmelement” (delete a node)

What Svn Users Do ● dump | svndumpfilter | load ● authz can hide paths

Non-reasons ● These possible reasons to obliterate are not goals – to undo (roll back) a recent commit – to tidy up history after an unwanted change has been done and undone ● Documentation should steer users to best practices for these tasks

Granularity ● Too big: – Remove a whole revision – Remove a whole node (or path) ● Seems good: – Remove selected node-revs ● Too small: – Remove selected text within a file