Test Drive 
 Site Map 


"Installed, configured, tested, and into production in just a few days and that is on a product that was under ACTIVE development just a few weeks away from release!" -- John Bernstein, Manager Software Engineering, Pixim Inc.

BK Development Platform

The BitKeeper Development Platform provides powerful configuration management capabilities and workflow control. BitKeeper was designed to solve many of the scaling, performance, and merge problems that legacy SCM sytems repeatedly introduce.

With BitKeeper, developers become more productive, teams can work collaboratively without ever leaving a version control environment, and work is more likely to be peer reviewed.

Try out BitKeeper for yourself. Go to the download and evaluation request form and request an eval.

BK/Nested Repository Collections

BK/Nested is technology that allows you to scale all of the benefits of distributed version control to very large source bases, such as an entire operating system even if it has gigabytes or terabytes of binaries, millions of files, in thousands of packages.

A nested collection is made up of a product repository at the top that binds together multiple component repositories. We tested out the technology on the FreeBSD source tree which consists of the kernel, compilers, debuggers, editors, and all the other packages.

BK/Nested lets you work on as much or as little of the collection as you need; BitKeeper does all the bookkeeping to make sure that everything is where it should be in time and space.

The benefits of BK/Nested include scaling up with full audit trail and consistency, scaling down to as little as one component for performance, outsourcing one or more components without leaking any of the surrounding intellectual property, and reusing components in different products, all while retaining the workflow benefits provided by the basic BitKeeper system.

BK/BAM (Binary Asset Management)

BK/BAM is technology that helps when your development includes large binaries. BK/BAM has one or more BAM servers that have all versions of all binaries. Developers have quick local access to those files that are most relevant to their current work, and older binaries are archived in the BAM server[s].

BK/BAM is somewhat of a hybrid, with most of the data in a centralized server. Centralized servers can be a performance problem; anyone who has used a system like CVS, SVN, Perforce, etc., from a remote site is painfully aware of the issue. BK/BAM does not have this problem, you can have as many servers as you like; the remote site problem goes away.


BK/Web is a web interface for browsing and searching BitKeeper repositories that augments the suite of BitKeeper GUI tools. BK/Web is typically used by people who wish to follow the progress of a project in a browser. BK/Web is also used to link bug reports to the changes that fixed the problem.

Users can search or browse work history based on a variety of parameters including changesets, users, tags, or the files themselves.


  • Increased Productivity

    BitKeeper was designed to simplify source management tasks and provide an excellent infrastructure for debugging and reviewing code.

  • Reduce human error

    BitKeeper updates are transactional. BitKeeper runs repository level integrity checks which catch problems immediately, while there is still time to fix them.

  • Reproducibility

    Complex software projects with multiple developers require software configuration management tools that allow for the accurate reproducibility of past and present information. Because BitKeeper supports the concept of a logical unit of work where each unit is immutable -- it cannot change but can be added to -- BitKeeper produces a completely reproducible repository for any moment in time. BitKeeper manages the development process so that every phase of a project can be recreated at a future point in time. Not only are file contents revisioned, but such information as permissions and file deletion events.

  • Accountability

    Because the repositories are completely reproducible at any point in time, it's easy to find out who made what changes, and what other files were changed at the same time. Debugging becomes a much more efficient and less frustrating endeavor with BitKeeper.

  • Disconnected/Distributed Operations

    Every user's work area contains the revision history files such that all work may proceed without any interaction with the main repository, so it's not a necessity to have a TCP connection between all of the systems all of the time. Each work area is a fully functioning repository. Joe can clone a copy of a repository to his laptop and have 100% functionality while disconnected, on an airplane, at a conference, etc. BitKeeper includes tools that propagate changes from one repository to another.

  • Scalable

    A common problem with most configuration management systems is they don't scale. They all work great for 1-5 developers, but they tend to fall apart when you have 1000 developers. BitKeeper's architecture is inherently scalable, so what works for five developers works equally well for 1,000 or 10,000.

  • Excellent merging tools

    BitKeeper has unique merging algorithms that significantly reduce the chance of merge conflicts when compared to other tools. In the rare event of a merge conflict, BitKeeper includes a best-in-class three-way file merge which makes merging as easy as pointing and clicking. Customers have reported as much as a 18 times reduction in merge time using these tools.

  • Reliability

    Multiple checksums on both the content and revision history of a file ensure that corruption due to hardware and operating system problems are caught early and without propagating through the SCM system. In addition, the distributed nature of BitKeeper repositories eliminates the single point of failure mode that can occur in client-server SCM systems.


BitKeeper works well on all of the supported platforms, with the only differences being either performance related (due to the file system) or operating system related (no symbolic links on Windows platforms).

The list of supported platforms is currently:

  • FreeBSD on x86
  • Linux/PPC (to phased out)
  • Linux/x86
  • Linux/x86-64
  • MacOS X
  • NetBSD on x86
  • OpenBSD on x86
  • Solaris 5.7 and later on x86
  • Windows

Please contact us for more information if your platform is not currently supported.