BitKeeper is commercial implementation of version control system. However, users can use it for development of open source projects without any fee. Most well-know project, that had used BitKeeper was development of Linux kernel (but now it use Git for development).
Work with BitKeeper from Emacs is provided by bk package.
To install bk package you need to download it from http://www.emacswiki.org/elisp/bk.el,
or obtain sources from BitKeeper's repository at bk://bk-emacs.bkbits.net/emacs
. This
source file you need to put to place, where Emacs can find it, and add loading of package
to the initialization file. You also have to install x-migrant package, that is required
for work of bk package.
Work with bk package is similar to work with VC. Functions could be executed either via
M-x
and name of function, global and local key bindings, or via BitKeeper
menu, that
available when you work in bk-mode.
Package uses two prefix keys to work. The C-x v
prefix is used by VC package, so
functions from bk package overlap some of VC functions, that provides work with files.
The C-c b
prefix is global, and used for functions, that could be applied not only to
files. You need to remember, that only some functions available via global key bindings
(only with C-x v
or C-c b
prefixes). All other functions available only when you work
with files, registered in BitKeeper.
When you work with files, that registered in BitKeeper, in status line you can see
information about license: BKL, when you use standard commercial license, and BKCL, when
you use community license. To get more detailed information on licenses you can use M-x
bk-help licensing
.
User can register new file in repository with bk-register
function, that bound to C-x v i
.
Work with already registered files is very similar to work with VC package. Obtaining
file from repository for editing, and releasing of it after editing is performed with
vc-toggle-read-only
function (C-x C-q
). With vc-revert-buffer
function (C-x v u
) you can
revert changes in file, and start to work with version from repository.
You can see information about concrete file's revision with bk-print-revision-summary
function (C-x v l
). To view revision history in a graphical form, you can execute
bk-revtool
function (C-c b r
), and it runs graphical revisions browser, that come in
BitKeeper's distribution. User can also view concrete file's revision with bk-print-rev
function (C-x v ~
), or display annotated file with bk-annotate
function, that bound to C-x
v g
. To view files the view-mode
is used.
Work with changes in BitKeeper is based on concept of changesets. To support work with
changesets, the bk package defines several functions. To make changes and create new
changeset exists bk-citool
function, that bound to C-c b c
. This command runs graphical
utility from BitKeeper's distribution, that is used to commit changes to repository.
To exchange of changesets between repositories, bk defines two functions. bk-push
function (C-c b .
) is used to transfer changeset to the parent repository. And bk-pull
function (C-c b ,
) is used to retrieve new changesets from parent repository. Both these
functions has global key bindings, so you can execute them from any place.
To get list of changes between your file and version in repository, user can use bk-diffs
function, that bound to C-x v =
. And to get changes for all files in
directory and subdirectories you can use bk-recursive-diffs
function (C-c b
=
). There is also bk-interesting-diffs
function (C-c b i
) that recursively compare
files matched some condition — files that are locked and modified by users, and also
files, that was added, but not yet committed to repository. To display list of locked and
modified files (and also all added files) exists bk-sfiles
function (C-c b s
).
To get short description of package and main commands, user can use bk-help-overview
function (C-c b h
). User can also get help on BitKeeper with following functions: bk-help
(C-c b m
) shows manual page for BitKeeper, bk-apropos
(C-c b a
) makes search in
BitKeeper's documentation, and bk-helptool
function runs graphical help utility from
BitKeeper's distribution.
User can use standard Emacs customization routines to change behaviour of package. With
M-x customize-group bk
function, user can set path to BitKeeper's executable files,
command line options, and prefixes for key bindings.
Last change: 05.03.2013 16:54