Upload
alban-hutchinson
View
214
Download
1
Embed Size (px)
Citation preview
Why BitkeeperWhy Bitkeeper
Elliott WolinElliott Wolin
GLUEX Collaboration meetingGLUEX Collaboration meeting
20-22 May 200420-22 May 2004
SCM HistorySCM History
Two revolutions within the past 27 yearsTwo revolutions within the past 27 years1st revolution focus switched from1st revolution focus switched from
files files repository repository22ndnd revolution focus switched from revolution focus switched from
repository repository workflow and release lifecycles workflow and release lifecyclesNote that Bitkeeper is a superset of CVSNote that Bitkeeper is a superset of CVS
Why Move to 3Why Move to 3rdrd Generation Generation SCMSCM
Save Time and ManpowerSave Time and Manpower
BK Used by Linux kernel, MySQL, etc.BK Used by Linux kernel, MySQL, etc.
Free BKL (not GPL!) license acceptable to us.Free BKL (not GPL!) license acceptable to us.
What is New in 3What is New in 3rdrd Generation Generation
Multiple, hierarchical repository structureMultiple, hierarchical repository structureReparentingReparentingChangesetsChangesetsMany other improvements, utilities, etc.Many other improvements, utilities, etc.Full support for “gatekeeper” modelFull support for “gatekeeper” modelBK is a full-featured commercial productBK is a full-featured commercial productVery active development (unlike CVS)Very active development (unlike CVS)
Who Will Be AffectedWho Will Be Affected
Group 1 – casual programmersGroup 1 – casual programmers Few thousand lines of code or lessFew thousand lines of code or lessImpact: -0.5 to +2 Impact: -0.5 to +2
Group 2 – major developers, integratorsGroup 2 – major developers, integratorsTens of thousands of lines of code or moreTens of thousands of lines of code or moreImpact: +2 to +7Impact: +2 to +7
Group 3 – managers, librarians, Group 3 – managers, librarians, integratorsintegratorsImpact: +10!Impact: +10!
For CVS UsersFor CVS Users
cvs diffcvs diffDisplay file differencesDisplay file differencesbk diffsbk diffs
cvs updatecvs updateUpdate local repository from parentUpdate local repository from parentbk pullbk pull
cvs addcvs addAdd new file to local repositoryAdd new file to local repositorybk newbk new
cvs statuscvs statusSummary of local repository statusSummary of local repository statusbk statusbk status
Commit local files as changesetCommit local files as changeset
Repeat after add’l edit/ci cycles Repeat after add’l edit/ci cycles bk commitbk commit
cvs commitcvs commitPush files back to parent repositoryPush files back to parent repositorybk pushbk push
Unlock local files for editingUnlock local files for editingbk editbk edit
Check in local files, incl. commentCheck in local files, incl. comment
Repeat edit/ci cycle Repeat edit/ci cycle bk cibk ci
cvs checkoutcvs checkoutClone repository locally (once)Clone repository locally (once)bk clonebk clone
CVSCVSDescriptionDescriptionBK BK
SummarySummary
In midst of 2In midst of 2ndnd revolution in SCM software revolution in SCM software 33rdrd generation has real advantages for us generation has real advantages for us
Hierarchical repository structure, reparenting, Hierarchical repository structure, reparenting, changesets, supports gatekeeper model, etc.changesets, supports gatekeeper model, etc.
Active product developmentActive product development Minor change, minor benefit for most peopleMinor change, minor benefit for most people Major benefits for integrators, librarians, Major benefits for integrators, librarians,
package managers, etc.package managers, etc. We should start using BK on new projects We should start using BK on new projects
now!now!
ReferencesReferences
My earlier technical talk on BK: My earlier technical talk on BK: www.jlab.org/Hall-D/presentations/Bitkeeper_for_Hall_D.pptwww.jlab.org/Hall-D/presentations/Bitkeeper_for_Hall_D.ppt
Bitkeeper web site: Bitkeeper web site: www.bitmover.comwww.bitmover.com SUN note on SCM strategies: SUN note on SCM strategies:
www.jlab.org/Hall-D/software/teamware.pswww.jlab.org/Hall-D/software/teamware.ps List of current SCM software: List of current SCM software:
www.dmoz.org/Computers/Software/Configuration_Managewww.dmoz.org/Computers/Software/Configuration_Management/Toolsment/Tools
BK screenshotsBK screenshots: : www.bitkeeper.com/Products.BK_Pro.Screen.htmlwww.bitkeeper.com/Products.BK_Pro.Screen.html
CVS to BK: CVS to BK: www.bitkeeper.com/cvs2bk.htmlwww.bitkeeper.com/cvs2bk.html Repository strategy from BK: Repository strategy from BK:
www.bitkeeper.com/Products.BK_Pro.Feature_.htmlwww.bitkeeper.com/Products.BK_Pro.Feature_.html
Additional NotesAdditional Notes
I’ve used: patchy, sccs, rcs, cms, I’ve used: patchy, sccs, rcs, cms, cmz, cvs, CM, Teamware, cmz, cvs, CM, Teamware, bitkeeperbitkeeper
Analogy: Fortran Analogy: Fortran OO OO programmingprogramming