9
Why Bitkeeper Why Bitkeeper Elliott Wolin Elliott Wolin GLUEX Collaboration GLUEX Collaboration meeting meeting 20-22 May 2004 20-22 May 2004

Why Bitkeeper Elliott Wolin GLUEX Collaboration meeting 20-22 May 2004

Embed Size (px)

Citation preview

Page 1: Why Bitkeeper Elliott Wolin GLUEX Collaboration meeting 20-22 May 2004

Why BitkeeperWhy Bitkeeper

Elliott WolinElliott Wolin

GLUEX Collaboration meetingGLUEX Collaboration meeting

20-22 May 200420-22 May 2004

Page 2: Why Bitkeeper Elliott Wolin GLUEX Collaboration meeting 20-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

Page 3: Why Bitkeeper Elliott Wolin GLUEX Collaboration meeting 20-22 May 2004

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.

Page 4: Why Bitkeeper Elliott Wolin GLUEX Collaboration meeting 20-22 May 2004

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)

Page 5: Why Bitkeeper Elliott Wolin GLUEX Collaboration meeting 20-22 May 2004

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!

Page 6: Why Bitkeeper Elliott Wolin GLUEX Collaboration meeting 20-22 May 2004

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

Page 7: Why Bitkeeper Elliott Wolin GLUEX Collaboration meeting 20-22 May 2004

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!

Page 8: Why Bitkeeper Elliott Wolin GLUEX Collaboration meeting 20-22 May 2004

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

Page 9: Why Bitkeeper Elliott Wolin GLUEX Collaboration meeting 20-22 May 2004

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