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 Windows
platforms).
The list of supported platforms is currently:
-
AIX 4.1.5 and later on PPC
-
FreeBSD 4.x, 5.x, 6.x and 7.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/IA64 (Intel 64bit Itanium)
-
Linux/MIPS (Sibyte)
-
Linux/PARISC (HP RISC platforms)
-
Linux/PPC
-
Linux/S390 (upon request)
-
Linux/SPARC
-
Linux/x86 (x86, AMD, Cyrix, etc)
-
Linux/x86-64 (AMD or Intel with 64bit extensions)
-
MacOS X on PPC and x86
-
NetBSD on x86
-
OpenBSD on x86
-
SCO OpenServer Release 5 on x86
-
Solaris 5.6 and later on SPARC
-
Solaris 5.7 and later on x86
-
Windows 2000 (to be phased out by 2011)
-
Windows 2003 server (to be phased out by 2011)
-
Windows XP
-
Windows 2008 server
-
Windows Vista
-
Windows 7
Please contact us for more information if your platform is not
currently supported.
Evaluation
This section is a hyper link to here.