home  |  sales  |  customers  |  jobs  |  contact  |  search  
     

Products


 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.

Learn more about how and why BitKeeper will accelerate your development productivity. If you just want to try out BitKeeper for yourself, go to the download and evaluation request form.

 BK BAM (Binary Asset Management)
 

BK/BAM streamlines the workflow and storage associated with the development of large binary files. Developers have quick local access to those files that are most relevant to their current work, and older binaries are archived in an efficient, organized structure in a centralized location of your choosing.

Developers can maintain sparse local trees yet still have access to the full revision history of the files and can gain access or rollback to any prior version, whether tagged or not. Developers also have the luxury of working in local sandboxes with their binary data to prevent disruption of other peoples' work or the main stable tree.

   
 BK Web
 
BK/Web is a powerful web interface for browsing and searching BitKeeper repositories that augments the suite of BitKeeper GUI tools. BK/Web provides a detailed graphical interface which outlines project history.

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

  • History summaries
  • Changesets by user
  • Tagged releases

BK/Web also includes the ability to search on changeset comments, file delta comments, and file content.

How BK Works

BitKeeper is the configuration management platform for the BitKeeper family of products. BitKeeper arms developers with a distributed, peer-to-peer version control system that naturally enables collaboration, iterative development, and peer reviews.

Developers can work faster and more productively because versioning is local, sharing work is simplified, and all individual work is preserved. Architects and project managers can more easily co-ordinate different components and versions of their projects with BitKeeper's detailed audit trail and advanced on-demand branching and auto-merging capabilities.

How does it work?

BitKeeper groups modifications into logical units of work called changesets, which can represent features updates, patches, etc.

Changesets dramatically improve debugging and maintaining code by showing all of the related changes that are associated with any one modification. Comments are associated with each individual modification as well as the changeset that encapsulates them, making it easy to see not only the who and what, but why.

Easy to manage repositories

At a simplified level, a BitKeeper repository is a collection of files and the group of changesets that captures the evolution of those files.

BitKeeper changesets are committed atomically, never leaving a repository in an inconsistent state. Unlike other SCM solutions, BitKeeper changesets are also immutable and fully reproducible: you can roll back to any changeset and reapply a changeset with the same effect every time.

Since BitKeeper tracks and groups all modifications, including symlinks and file renames, you can always reproduce working builds. Every changeset is automatically tagged in effect, so reproducibility is preserved even if someone forgets to "tag" a version.

No more breaking builds

Legacy SCM systems are client-server based, causing central repositories to become bottlenecks, or worse, single points of failure. In BitKeeper, each developer has a replica of the repository, giving him a revision control environment that is local and sandboxed.

Changesets are committed to the developer's local repository -- slow networks, offline servers, or even offline development no longer hamper check-ins.

Organizations with remote offices, developers working from home, or offshore development will quickly realize the benefits of BitKeeper's fast, localized versioning. At the same time, every organization, whether distributed or not, can decrease the risk of check-in's that pollute global repositories or that break the build for the entire organization.

Fast, lightweight synchronization

Synchronizations between repositories are fast because only the delta in changesets (i.e. difference in metadata) is transferred over the network. Other legacy SCM systems need to traverse the entire directory tree to see what has changed.

Suppose Dave is happy with his new work and is ready to push his changesets to the main repository. Amy can then pull Dave's changes from Main. Files that were concurrently modified are automatically merged wherever possible using BitKeeper's ProMerge technology (if manual merging is necessary, BitKeeper provides advanced 3-way merge GUI tools).

Once Amy has merged, she can push her work to Main. A powerful feature of BitKeeper is that all individual, incremental work is preserved with a detailed audit trail of who did what. If Dave's work turned out to be bad, good work from Amy (and from any other developer) that went into the merge is retrievable. Other SCM solutions typically lose all of the incremental work except that of the last person that merged and checked in.

Collaborating peer-to-peer

Unlike other SCM systems, BitKeeper enables developers to push and pull changes peer-to-peer. This gives you the power to work collaboratively and to leverage each others work without affecting unrelated groups. Organizations implementing Scrum, Extreme Programming, or other agile development methods can now encourage collaboration without anyone leaving a version control environment. People's work is also more likely to be tested and peer reviewed, improving software quality.

On-demand branching

BitKeeper enables a workflow that allows organizations to adaptively divide and conquer projects according to customer priorities. Suppose Dave's feature suddenly turns into a customer priority that requires additional resources. Dave's workspace can be quickly cloned into a staging area that additional developers can work against. Updates, merges, and tests are still sandboxed within the group. BitKeeper's advanced merge capabilities also make co-ordinating updates coming down from Main and coming up from Dave's team easy to manage.



I'm ready to evaluate BitKeeper...

Advantages

  • 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.

Platforms

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 Win32 platforms). When asked, we tend to recommend Linux as the platform of choice; BitKeeper makes extensive use of the file system and Linux has the the best file system for this application.

The list of supported platforms is currently:

  • AIX 4.1.5 and later on PPC
  • FreeBSD 2.x, 3.x, 4.x, 5.x and 6.x on x86
  • HPUX 11.11 and later on PARISC
  • IRIX 6.5 and later on MIPS (to be phased out in bk-5.0)
  • Linux/Alpha (64bit)
  • Linux/IA64 (Intel 64bit Itanium)
  • Linux/MIPS (Sibyte)
  • Linux/PARISC (HP RISC platforms)
  • Linux/PPC
  • Linux/S390
  • Linux/SPARC
  • Linux/x86 (x86, AMD, Cyrix, etc)
  • Linux/x86-64 (AMD Opterons, etc)
  • MacOS X on PPC and x86
  • NetBSD 1.5 on x86
  • OpenBSD 2.7 on x86
  • SCO OpenServer Release 5 on x86
  • Solaris 5.6 and later on SPARC
  • Solaris 5.7 and later on x86
  • Windows 2000
  • Windows 2000 Server
  • Windows 2000 Advanced Server
  • Windows 2003
  • Windows XP
  • Windows Vista (32 bit only)

Please contact us for more information if your platform is not currently supported. We will add support for any POSIX compliant platform for a 50 or more seat sale provided that the system is readily available and is not prohibitively expensive. Tru64 Unix on Alpha support was phased out due to lack of commercial interest but could be brought back for a commercial customer.

Evaluation This section is a hyper link to here.


Home    Products    How to Buy    Customers    Downloads    Support    Privacy Policy    Bug DB    Site Map    Contact Us

© 1997-2007, BitMover, Inc.