1 ● Jens-Heiner Rechtien > Software developer, RE – Sun Microsystems, Inc. The state of the OpenOffice.org SCM migration project 1.

Slides:



Advertisements
Similar presentations
Week 2 DUE This Week: Safety Form and Model Release DUE Next Week: Project Timelines and Website Notebooks Lab Access SharePoint Usage Subversion Software.
Advertisements

Introduction To GIT Rob Di Marco Philly Linux Users Group July 14, 2008.
1. What is Subversion? Why do we need CM? Basic concepts Repositories Options Setup Clients Options Setup Operation Troubleshooting Slide 2.
Software Configuration Management Donna Albino LIS489, December 3, 2014.
Version Control What it is and why you want it. What is Version Control? A system that manages changes to documents, files, or any other stored information.
Version Control Systems Phil Pratt-Szeliga Fall 2010.
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
Source Code Management Or Configuration Management: How I learned to Stop Worrying and Hate My Co-workers Less.
Source Control Repositories for Enabling Team Working Svetlin Nakov Telerik Corporation
SubVersioN – the new Central Service at DESY by Marian Gawron.
GIT is for people who like SVN September 18 th 2012 Vladimir Kerkez and BK.
CERN - IT Department CH-1211 Genève 23 Switzerland t SVN Pilot: CVS Replacement Manuel Guijarro Jonatan Hugo Hugosson Artur Wiecek David.
Source Code Revision Control Software CVS and Subversion (svn)
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
Fundamentals of Git By Zachary Ling 29 th, Aug,
Version control Using Git 1Version control, using Git.
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.
علیرضا فراهانی استاد درس: جعفری نژاد مهر Version Control ▪Version control is a system that records changes to a file or set of files over time so.
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 ?
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
Version control Using Git Version control, using Git1.
Subversion (SVN) Tutorial Source:
Version Control Systems academy.zariba.com 1. Lecture Content 1.What is Software Configuration Management? 2.Version Control Systems (VCS) 3.Basic Git.
…using Git/Tortoise Git
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
Copyright © 2015 – Curt Hill Version Control Systems Why use? What systems? What functions?
Progress with migration to SVN Part3: How to work with g4svn and geant4tags tools. Geant4.
Gotta get Git Chris Sherwood and Alfredo Aretxabaleta USGS Woods Hole.
Computer Science and Engineering The Ohio State University  Widely used, especially in the opensource community, to track all changes to a project and.
Study for Migration from CVS to SubVersion (SVN) Gunter Folger CERN/PH/SFT.
Team 708 – Hardwired Fusion Created by Nam Tran 2014.
INFSO-RI Enabling Grids for E-sciencE SCDB C. Loomis / Michel Jouvin (LAL-Orsay) Quattor Tutorial LCG T2 Workshop June 16, 2006.
SWGData and Software Access - 1 UCB, Nov 15/16, 2006 THEMIS SCIENCE WORKING TEAM MEETING Data and Software Access Ken Bromund GST Inc., at NASA/GSFC.
GIT.
Part 4: FCM and the UM University of Reading, December 2015.
Version Control and SVN ECE 297. Why Do We Need Version Control?
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
Database & Information Systems Group University of Basel DBIS Group Talk Michael Springmann Distributed Source Code Management in Mercurial.
Introduction to Git - Chirag Dani. Objectives Basics of Git Understanding different “Mindset of Git” Demo - Git with Visual Studio.
Source Control Repositories for Enabling Team Working Doncho Minkov Telerik Corporation
© CGI Group Inc. User Guide Subversion client TortoiseSVN.
SCDB Update Michel Jouvin LAL, Orsay March 17, 2010 Quattor Workshop, Thessaloniki.
BIT 285: ( Web) Application Programming Lecture 07 : Tuesday, January 27, 2015 Git.
CS491A Software Design Lab Version Control with CVS and Subversion Chengyu Sun California State University, Los Angeles.
Git Girish Git VCS that I have used ClearCase, cvs, svn Happy p4 user.
Subversion Migration 2008/10/08 Subversion server can also be used for DSCM later on Server: zone on Sun Fire X4150, > 8 cores (3.16GHz), 300 GB storage.
GIT: (a)Gentle InTroduction Bruno Bossola. Agenda About version control Concepts Working locally Remote operations Enterprise adoption Q&A.
Software Configuration Management -Subversion- RTLAB YuJin Park.
Introduction to Git and git-svn Paul Gier Red Hat Sept. 27, 2011.
Dr. Tanusri Bhattacharya
CS5220 Advanced Topics in Web Programming Version Control with Git
4 Version control (part 1)
Version Control Systems
LECTURE 2: Software Configuration Management
Code Management Releases
Version control, using Git
Version Control System using Git
Community RE Report from the Bleeding Edge
Concurrent Version Control
Software Version System Part1: Subversion at CERN
Version Control System
LECTURE 3: Software Configuration Management
Introduction to Configuration Management
Getting Started with Git and Bitbucket
User Guide Subversion client TortoiseSVN
Git Introduction.
Version Control 101 with Subversion
Software Engineering and Architecture
Presentation transcript:

1 ● Jens-Heiner Rechtien > Software developer, RE – Sun Microsystems, Inc. The state of the OpenOffice.org SCM migration project 1

OpenOffice.org conference, Beijing Overview Why change a running system? Evaluating four candidates Server and repository setup Migration decisions CWS-tools revisited Problems? Nah … Q&A

OpenOffice.org conference, Beijing After 8 years of working with CVS... CVS is aging tagging and branching are O(n) operations history preserving renames are awkward binary file handling is error prone commit operations are not atomic 8 years working with CVS left us with: ~ 22 GB repository size (+5 GB last year) ~ 7000 branches (child work spaces!)

OpenOffice.org conference, Beijing it's time to move to a new SCM SCM based on change sets instead of file archives But which one? Centralized SCM > Subversion ( Distributed SCM > Mercurial ( > Git ( > Bazaar (

OpenOffice.org conference, Beijing After a long evaluation phase... The new SCM > must support the OOo way of development –merge tracking! > be able to import major parts of the history > have a significant better overall performance > known to be stable > should be well documented > should have an understandable user interface > should be scriptable > should integrate with IDEs and other tooling

OpenOffice.org conference, Beijing we finally chose Subversion... all SCM evaluated had weaknesses Subversion > centralized > merge tracking still new > commands take long URLs Git > no partial checkouts > windows support weak > terrible user interface (IMHO) > weak documentation

OpenOffice.org conference, Beijing at least for now Mercurial > no partial checkouts > we didn't manage to do a history import > somewhat slow > “named branches” were still experimental Bazaar > no partial checkouts > history import succeeded but late > somewhat slow > “repository branches” were still experimental

OpenOffice.org conference, Beijing We will re-evaluate DSCMs again... need to be careful not to preclude DSCMs by migration choices smaller repository sizes help all DSCMs limit the number of branches will help bzr, hg

OpenOffice.org conference, Beijing … and if you really dislike SVN Subversion is change set based => it's reasonable possible to bridge git-svn > seems to be already in use bzr-svn hg-svn

OpenOffice.org conference, Beijing The server Sun Fire X4150 > 8 cores (3.16GHz) > 64 GBytes RAM > 600 GB storage (ZFS). Second system (same configuration) serves as backup and fail-over system

OpenOffice.org conference, Beijing Subversion server (continued) can also be used for DSCM later on URL: svn.services.openoffice.org Additional services > OpenGrok indexer and source browser

OpenOffice.org conference, Beijing Subversion repository Subversion 1.5 (current 1.5.4) > merge tracking! Repository structure: >.../trunk.../tags DEV300_m18, OpenOffice_3_0_ /branches DEV300, DEV /cws swbugfix03, sb87, /dist/... anyone can get space here for patches etc.../contrib is this needed?.../patches globally useful patches path based access needed? Hopefully not!

OpenOffice.org conference, Beijing Scope of migration Full migration, including all CWS branches > not really possible, migration will take forever Full migr. minus "finished" CWS branches Trunk migration only. No history migration at all. > probably to radical

OpenOffice.org conference, Beijing Full mig. minus “finished” CWSs Pro > Almost everything of relevance there > Historic releases states can be extracted > Current work checked out from new SCM > Can be done, this has been tried out > CVS server can be switched off (or r/o) Con > The resulting repository will still be huge > Number of revisions estimated > > The conversion takes about a week > Quiet period for everyone > Accuracy? Legacy workspaces need to be converted

OpenOffice.org conference, Beijing Trunk only (that's what we did) Pro > Still almost everything of relevance there > Conversion is easy > Repository is lean and mean > Accuracy is no concern, history is for reference only > No quiet period except for integrations > No hassle with workspace migration Con > CVS server remains online > One time patch effort when integrating CWS > Real ancient history might browsing CVS > Historic state constructed from CVS

OpenOffice.org conference, Beijing Modified CWS-tooling cws create [-m milest.] > creates branch and registers with EIS cws fetch [-c CWS] [-m milest] [-s] > checks out sources in a configurable way > makes use of pre-checked out source tree > modules are really only top level directories now > includes cwsclone functionality cws rebase [-C | -m milestone] > thin wrapper around subversion

OpenOffice.org conference, Beijing Modified CWS-tooling (continued) cws integrate cws query cws task cws eisclone cws...

OpenOffice.org conference, Beijing Problems? Where are my modules? > modules are ingrained to the build system > not possible to mix modules from two or more repositories Merge tracking is not as fast as we would like it > use client SVN repository URLs are clumsy

OpenOffice.org conference, Beijing Q & A

20 The state of the Openoffice.org SCM migration project ● Jens-Heiner Rechtien > 20