The Great Migration:from TeamWare to MercurialJames C. McPhersonSenior Kernel EngineerSun MicrosystemsThe Great Migration: from TeamWare to Mercurial, what we learned along the wayJames C. McPherson, Sun Microsystems.© Sun Microsystems 2008. All rights reservedIntroductionNomenclature and HistoryTeamWareReplacement SCM CandidatesMercurialWhat we have learnedReferencesThe Great Migration: from TeamWare to Mercurial, what we learned along the way 2James C. McPherson, Sun Microsystems.© Sun Microsystems 2008. All rights reservedIntroductionJanuary 2005Sun releases DTrace under CDDL14 June 2005Sun releases the bulk of the core Solaris kernel and basic userland under CDDL30000+ files, several million LoCSource Code Management system?SCCS wrapped in TeamWareIt was Time For A Change(tm)The Great Migration: from TeamWare to Mercurial, what we learned along the way 3James C. McPherson, Sun Microsystems.© Sun Microsystems 2008. All rights reservedSome nomenclature......“Solaris” and “Solaris Express” are constructed from several Consolidations:OS and Networking, aka OS/Net, aka “ON”Admin and Install, aka “AI”JavaJDS (Desktop) and XSunClusterNetWorkStorage (now part of ON), andxVMThe Great Migration: from TeamWare to Mercurial, what we learned along the way 4James C. McPherson, Sun Microsystems.© Sun Microsystems 2008. All rights reservedA bit more nomenclatureUnder TeamWare, each Consolidation is housed in The Gate, which is updated to The Clone every night (11pm US/Pacific is the convention)You putback to The GateYou bringover from The CloneThe Gate and Clone filesystems are exported read-only, but TeamWare's metadata directories are exported read-writeThe Great Migration: from TeamWare to Mercurial, what we learned along the way 5James C. McPherson, Sun Microsystems.© Sun Microsystems 2008. All rights reservedA picture, please?The Gateexported r/oTeamWare metadataputbackexported r/wUpdated at 11pmUS/Pacific every nightDevelopmentprocessThe Cloneexported r/obringoverTeamWare metadataexported r/wThe Great Migration: from TeamWare to Mercurial, what we learned along the way 6James C. McPherson, Sun Microsystems.© Sun Microsystems 2008. All rights reservedWhy not stick with TeamWare?TeamWare's code was not OpenTeamWare had been EOL'd (End Of Life'd)Getting patches for bugfixes was hardGetting patches for new features was really hardTeamWare was ill suited to globally distributed development, and The operational model did not allow moving Gates outside SunThe Great Migration: from TeamWare to Mercurial, what we learned along the way 7James C. McPherson, Sun Microsystems.© Sun Microsystems 2008. All rights reservedDevelopment with TeamWareTeamWare is not just a collection of wrappers around SCCS, it also provides application/scripting triggers, tracks name changes, aggregates operations and even provides checkpointing.Heavy use of NFS – fine when all the developers are in one buildingOver time, engineers wrote their own wrappers around TeamWare, to workaround its shortcomingsThe Great Migration: from TeamWare to Mercurial, what we learned along the way 8James C. McPherson, Sun Microsystems.© Sun Microsystems 2008. All rights reservedOther development infrastructureDeveloper scripts includenightly – to build your workspacewx (Workspace Extensions) – to manage your workspacebfu (Bonwick-Faulkner Upgrade) webrev – generates webpages for code reviewThe Great Migration: from TeamWare to Mercurial, what we learned along the way 9James C. McPherson, Sun Microsystems.© Sun Microsystems 2008. All rights reservedWhat do these scripts do? (1)nightly – general purpose gate and workspace build script. So-called because it's run every night on the gate source, and used to take all night to run.nightly is generally maintained by ON engineers, and used by several other consolidations as wellnightly has a number of options, including package generation, lint checking, C and Java style checkingThe Great Migration: from TeamWare to Mercurial, what we learned along the way 10James C. McPherson, Sun Microsystems.© Sun Microsystems 2008. All rights reservedDocument Outline
- ÿ
- ÿ
- ÿ
- ÿ
- ÿ
- ÿ
- ÿ
- ÿ
- ÿ
- ÿ
- ÿ
- ÿ
- ÿ
- ÿ
- ÿ
- ÿ
- ÿ
- ÿ
- ÿ
- ÿ
Add New Comment