BitKeeper — это коммерческая реализация системы контроля версий. Однако ее можно использовать и в свободных проектах, без уплаты каких-либо отчислений. Наиболее масштабным проектом с открытым исходным кодом, использующим данную систему, являлась разработка ядра Linux (сейчас для этого используется Git).
Для установки пакета bk вам нужно получить его копию с
http://www.emacswiki.org/elisp/bk.el, или использовать репозиторий BitKeeper по адресу
bk://bk-emacs.bkbits.net/emacs
. Полученный файл необходимо поместить в доступное для
Emacs место и выполнить команду загрузки. Для работы пакета необходимо наличие библиотеки
x-migrant, но если ее у вас нет, то вы можете закомментировать ее загрузку в исходном коде
пакета.
По большей части, работа с пакетом bk похожа на работу с пакетом VC. Так, что если вы знакомы с ним, то привязки клавиш и принципы работы, будут вам знакомы.
Команды пакета могут выполняться через стандартный механизм выполнения команд доступный
через сочетание клавиш M-x
, через глобальные и локальные привязки клавиш, а также через
меню BitKeeper
, доступное при работе в режиме bk-mode.
Для привязки клавиш данный пакет использует два префикса. C-x v
— это префикс
используемый пакетом VC, и так что команды пакета bk перекрывают часть команд VC
применимых к конкретным файлам. C-c b
является глобальным префиксом, и с его помощью
применяются команды, которые применимы не только к конкретным файлам.
Следует помнить что только часть команд доступна через глобальные привязки клавиш. Обычно
это команды, привязки которых начинаются с префиксов C-x v
или C-c b
. Остальные команды
доступны только при работе с файлами, которые зарегистрированы в системе BitKeeper.
При работе с файлами, которые находятся под контролем BitKeeper, в строке состояния может
отображаться либо значение BKL, для случая, когда репозиторий лицензирован в терминах BKL
(стандартная коммерческая лицензия) или BKCL, когда используется лицензия BKCL (лицензия
для проектов с открытым исходным кодом). Для получения более подробной информации об
этом, просто наберите M-x bk-help licensing
.
Регистрация файлов в репозитории производится с помощью команды bk-register
привязанной к
сочетанию клавиш C-x v i
. Работа с зарегистрированными файлами по принципу похожа на
работу с файлами в пакете VC. Получение файла из репозитория для редактирования, и
освобождение его и помещение в репозиторий производится с помощью команды
vc-toggle-read-only
(сочетание C-x C-q
). Вы также можете отменить сделанные вами
изменения и вернуться к версии в репозитории с помощью vc-revert-buffer
(сочетание клавиш
C-x v u
).
Просмотр информации о конкретной ревизии файла производится с помощью команды
bk-print-revision-summary
(сочетание C-x v l
). Для просмотра истории ревизий в
графическом виде, пользователь может использовать команду bk-revtool
(она привязана к C-c
b r
), которая запускает графический браузер ревизий из поставки BitKeeper. Пользователь
может также просмотреть конкретную ревизию файла с помощью команды bk-print-rev
(сочетание
клавиш C-x v ~
), или аннотированную версию файла, используя команду bk-annotate
,
привязанную к сочетанию клавиш C-x v g
. Просмотр осуществляется с использованием
view-mode
.
Работа с изменениями в BitKeeper основана на концепции набора изменений (changeset). Для
работы с наборами изменений, пакет bk определяет несколько команд. Для внесения
изменений, и создания набора изменений, используется команда bk-citool
, которая привязана
к сочетанию клавиш C-c b c
. Данная команда запускает графическую утилиту из состава
BitKeeper для подтверждения изменений в репозиторий.
Для обмена наборами изменений между разными репозиториями, пакет bk определяет две
команды. Команда bk-push
(она привязана к C-c b .
) используется для передачи набора
изменений в родительский репозиторий. А команда bk-pull
(сочетание C-c b ,
) используется
для втягивания наборов изменений, имеющихся в родительском репозитории. Обе эти команды
имеют глобальные привязки клавиш, так что ими можно пользоваться из любого места.
Для получения изменений между вашим файлом и файлом в репозитории, может использоваться
команда bk-diffs
, которая привязана к сочетанию клавиш C-x v =
. А для
рекурсивного выполнения сравнения файлов в каталоге, с их версиями в репозитории,
используется команда bk-recursive-diffs
(сочетание C-c b =
). Команда
bk-interesting-diffs
(сочетание C-c b i
) рекурсивно выполняет сравнение для некоторых
файлов. К этим файлам относятся, те которые заблокированы и изменены, или те, которые
были помещены в репозиторий, но еще не были подтверждены в набор изменений.
Для показа списка файлов, которые были заблокированы и изменены, или которые были помещены
в репозиторий, но еще не были подтверждены в набор изменений, используется команда
bk-sfiles
(сочетание клавиш C-c b s
).
Для получения короткого описания пакета и основных команд работы с ним, пользователь может
использовать команду bk-help-overview
(сочетание клавиш C-c b h
). Пользователь также
может получать справку по работе с BitKeeper с помощью следующих команд: команда bk-help
(сочетание C-c b m
) отображает справочную страницу BitKeeper, команда bk-apropos
(сочетание C-c b a
) осуществляет поиск по документации BitKeeper, а команда bk-helptool
запускает графическое средство для работы со справочной системой BitKeeper.
Для настройки пакета bk можно использовать стандартный механизм настройки Emacs. С
помощью команды M-x customize-group bk
, пользователь может задать пути к исполняемым
файлам BitKeeper, аргументы для этих команд, а также сочетание клавиш, которое будет
использоваться в качестве префикса для команд пакета.
Last change: 05.03.2013 16:54