Меню:


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

blog comments powered by Disqus