Why Bitkeeper Elliott Wolin GLUEX Collaboration meeting 20-22 May 2004 SCM History Two revolutions within the past 27 years 1st revolution focus switched from files 2nd repository revolution focus switched from repository workflow and release lifecycles Note that Bitkeeper is a superset of CVS Why Move to 3rd Generation SCM Save Time and Manpower BK Used by Linux kernel, MySQL, etc. Free BKL (not GPL!) license acceptable to us. What is New in 3rd Generation Multiple, hierarchical repository structure Reparenting Changesets Many other improvements, utilities, etc. Full support for “gatekeeper” model BK is a full-featured commercial product Very active development (unlike CVS) Who Will Be Affected Group 1 – casual programmers Few thousand lines of code or less Impact: -0.5 to +2 Group 2 – major developers, integrators Tens of thousands of lines of code or more Impact: +2 to +7 Group 3 – managers, librarians, integrators Impact: +10! For CVS Users BK Description CVS bk clone Clone repository locally (once) cvs checkout bk new Add new file to local repository cvs add bk edit Unlock local files for editing bk ci Check in local files, incl. comment Repeat edit/ci cycle bk commit Commit local files as changeset Repeat after add’l edit/ci cycles bk push Push files back to parent repository cvs commit bk pull Update local repository from parent cvs update bk status Summary of local repository status cvs status bk diffs Display file differences cvs diff Summary In midst of 2nd revolution in SCM software 3rd generation has real advantages for us Hierarchical repository structure, reparenting, changesets, supports gatekeeper model, etc. Active product development Minor change, minor benefit for most people Major benefits for integrators, librarians, package managers, etc. We should start using BK on new projects now! References My earlier technical talk on BK: Bitkeeper web site: www.bitmover.com SUN note on SCM strategies: www.jlab.org/Hall- List of current SCM software: BK screenshots: CVS to BK: www.bitkeeper.com/cvs2bk.html Repository strategy from BK: D/presentations/Bitkeeper_for_Hall_D.ppt www.jlab.org/Hall- D/software/teamware.ps www.dmoz.org/Computers/Software/Configuration_Management/To ols www.bitkeeper.com/Products.BK_Pro.Screen.html www.bitkeeper.com/Products.BK_Pro.Feature_.html Additional Notes I’ve used: patchy, sccs, rcs, cms, cmz, cvs, CM, Teamware, bitkeeper Analogy: Fortran OO programming