![]() |
|
||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||
|
Products
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.
Advantages
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:
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.
| |||||||||||||||||||||||||||||||||||||||||||||||