Для системы ClearCase имеется как модуль для пакета VC, так и специализированный модуль — clearcase. Специализированный модуль имеет больше возможностей, и пользователям рекомендуется использовать именно его. Данный пакет поддерживает следующие возможности:
Пакет clearcase доступен для загрузки со страницы автора. Он может использоваться и с GNU Emacs версии 20.4 или выше, и с достаточно свежими версиями XEmacs. Пакет может работать в разных операционных системах — как семейства Windows, так и семейства Unix. Для использования пакета, лишь поместите файлы в доступное для Emacs место, и выполните команду
(require 'clearcase)
Пакет имеет проблемы при совместном использовании со старой версией пакета vc-hooks, в которой используются несовместимые версии пакета tq. Но сейчас это встречается достаточно редко.
Пакет clearcase пытается по возможности сохранять совместимость с VC по части привязок клавиш. Но предоставляемый интерфейс является более мощным, и лучше отражает идеологию ClearCase, чем модуль для пакета VC.
Работа с пакетом может осуществляться через выполнение команд напрямую, используя привязки
клавиш, или через меню ClearCase
, которое появляется при редактировании файлов с
использованием вспомогательного режима ClearCase. Кроме выполнения действий прямо из
Emacs, пользователь может использовать и внешние программы из состава ClearCase. Сюда
относятся утилиты для просмотра дерева версий и работы с проектами, а также менеджер
слияний, и прочие утилиты.
Многие операции пакет позволяет производить используя режим Dired. Сюда относятся
операции просмотр дерева версий, массовая работа с файлами — извлечение и помещение их в
репозиторий. Для обработки каталогов, находящихся под управлением ClearCase, при
использовании Dired, пакет clearcase определяет специальный режим —
clearcase-dired-mode
.
Кроме этого, пакет определяет еще несколько вспомогательных режимов, например, режим для
редактирования комментариев.
Для своих привязок клавиш, пакет clearcase использует префиксное сочетание клавиш C-x v
.
Для того, чтобы команды clearcase не пересекались с командами пакета VC, пакет clearcase
удаляет неиспользуемые привязки, при работе с данными, находящимися под контролем
ClearCase.
Команды работы с данными можно разделить на несколько логических групп — работа с
файлами, работа с изменениями, использование внешних утилит ClearCase, получение
информации, и прочие команды. Практически для каждой команды, которая работает с текущим
буфером (они оканчиваются на суффикс -current-buffer
) существует аналогичная команда,
которая работает с текущим файлом в буфере Dired. Такие команды имеют суффикс
-dired-file
. Обычно для обоих вариантов команд используется одна и таже привязка клавиш,
которая вызывает соответствующую функцию в зависимости от места вызова — текущий файл или
буфер Dired.
Пакет clearcase старается в своей работе поддерживать логику операций, которые
предоставляются пакетом VC. Для этого, определены команды
clearcase-next-action-current-buffer
(C-x v v
) и clearcase-next-action-dired-files
(то же
самое сочетание, но в режиме Dired), которые выполняют следующую операцию в цепочке
действий над текущим буфером, или над выбранными файлами. Изменение состояния текущего
буфера производится с помощью команды clearcase-toggle-read-only
(сочетание клавиш C-x
C-q
), что приводит к переводу его либо в состояние доступности для внесения изменений,
либо в состояние доступности только для чтения.
Пакет поддерживает массовое выполнение операций получения данных из репозитория и
подтверждения данных в репозиторий. Для получения данных из репозитория могут
использоваться команды clearcase-checkout-current-buffer
, clearcase-checkout-dired-files
и
clearcase-dired-checkout-current-dir
, которые приводят к получению версий из репозитория
для текущего буфера, отмеченных файлов и текущего каталога. А задачи по подтверждению
данных производятся с помощью команд, имеющих аналогичные имена —
clearcase-checkin-current-buffer
, clearcase-checkin-dired-files
и
clearcase-dired-checkin-current-dir
. Отмена получения данных производится с помощью
команд clearcase-uncheckout-current-buffer
(она привязана к сочетаниям C-x v c
и C-x v
u
), clearcase-uncheckout-dired-files
(она имеет те же привязки, что и предыдущая команда,
но они определены только при работе в режиме clearcase-dired-mode
) и команды
clearcase-dired-uncheckout-current-dir
.
Регистрация файлов в системе контроля версий ClearCase производится с помощью команды
clearcase-mkelem-current-buffer
(сочетание клавиш C-x v i
), которая регистрирует текущий
буфер, или с помощью команды clearcase-mkelem-dired-files
, которая регистрирует выбранные
файлы.
Обновление данных в текущем буфере, каталоге или файлах в буфере Dired производится с
помощью команд clearcase-update-current-buffer
, clearcase-update-default-directory
,
clearcase-update-dired-files
и clearcase-update-view
. А получить конкретную версию файла
можно с помощью команды clearcase-version-other-window
, которая привязана к сочетанию
клавиш C-x v ~
.
Создание новой ветки производится с помощью команды clearcase-mkbrtype
, которая привязана
к сочетанию клавиш C-x v m
. Остальные операции с ветвями выполняются тем же способом, что
и в пакете VC.
Команды работы с изменениями можно разделить на две группы. Первая группа для получения
списков изменений использует команду diff
(они имеют название начинающееся с
clearcase-diff
), а вторая группа команд, для этого использует пакет ediff (для них
используется префикс clearcase-ediff
). Ниже перечислены только команды первой группы,
команды второй группы имеют аналогичные имена, с учетом вышеуказанных отличий.
clearcase-diff-pred-current-buffer
(сочетание клавиш C-x v =
) и
clearcase-diff-pred-dired-file
— сравнивает текущий буфер или отмеченные файлы с их
предыдущими версиями;clearcase-diff-branch-base-current-buffer
и clearcase-diff-branch-base-dired-file
—
сравнивают текущий буфер или отмеченные файлы с базовыми версиями их ветки;clearcase-diff-named-version-current-buffer
и clearcase-diff-named-version-dired-file
— сравнивают текущий буфер или отмеченные файлы с указанной версией.
Для получения описания файлов используются две команды. Команда
clearcase-describe-current-buffer
(сочетание клавиш C-x v ?
) используется для получения
описания файла в текущем буфере, а команда clearcase-describe-dired-file
используется для
получения описания файлов, выбранных в буфере dired.
Пользователи также могут получить аннотированную версию текущего буфера или отмеченных
файлов с помощью команд clearcase-annotate-current-buffer
(сочетание клавиш C-x v g
) и
clearcase-annotate-dired-file
. А для получения истории текущего буфера или файла в буфере
dired используются команды clearcase-list-history-current-buffer
(привязанная к C-x v l
) и
clearcase-list-history-dired-file
.
Пакет clearcase поддерживает работу со свойствами файлов ClearCase, которые связываются с
зарегистрированными файлами. Пользователь может просматривать эти свойства с помощью
команды clearcase-fprop-display-properties
, а также вставлять их в текущий буфер с помощью
команды clearcase-fprop-dump-to-current-buffer
.
Пакет clearcase позволяет использовать множество утилит, входящих в состав ClearCase, не покидая удобную среду Emacs:
clearcase-gui-clearexplorer
— запускает ClearExplorer
clearcase-gui-deliver
clearcase-gui-merge-manager
— запускает менеджер слияний;clearcase-gui-project-explorer
— запускает утилиту работы с проектами;clearcase-gui-rebase
clearcase-gui-snapshot-view-updater
clearcase-gui-vtree-browser-current-buffer
— запускает браузер дерева проекта для
текущего буфера;clearcase-gui-vtree-browser-dired-file
— запускает браузер дерева проекта для файла в
Dired.Пакет также определяет набор команд для просмотра изменений с помощью внешних утилит:
clearcase-gui-diff-branch-base-current-buffer
— использует графический интерфейс для
сравнения данных в текущем буфере;clearcase-gui-diff-branch-base-dired-file
— использует графический интерфейс для
сравнения выбранных версий с их базовыми версиями;clearcase-gui-diff-pred-current-buffer
— использует графический интерфейс для
сравнения текущего буфера с предыдущей версией;clearcase-gui-diff-pred-dired-file
— использует графический интерфейс для сравнения
выбранных версий с их базовыми версиями.Редактирование конфигурации ClearCase производится с помощью команд, которые начинаются с
clearcase-edcs
. Для редактирования конфигурации определен специальный режим —
clearcase-edcs-mode
, который включается одноименной командой. Редактирование конфигурации
производится с помощью команды clearcase-edcs-edit
, которая привязана к сочетанию клавиш
C-x v e
. Для сохранения изменений используется команда clearcase-edcs-save
. Для
завершения работы с конфигурацией ClearCase используется команда clearcase-edcs-finish
.
Пакет clearcase обеспечивает возможность отслеживания состояния самого себя с помощью
трассировки выполняемых команд. Для включения и выключения трассировки используются
команды clearcase-enable-tracing
и clearcase-disable-tracing
. Кроме этого, пользователь
может получить данные о внутреннем состоянии пакета с помощью команды clearcase-dump
. Но
эти возможности в основном нужны в тех случаях, когда пакет работает не так как нужно.
Если вы нашли ошибку в работе пакета, то вы можете сообщить о ней используя команду
clearcase-submit-bug-report
, которая соберет данные о значениях переменных, версии Emacs и
прочую информацию, необходимую для воссоздания ошибки и ее исправления.
Команды clearcase-integrate
и clearcase-unintegrate
явно устанавливают или удаляют хуки и
команды, которые обеспечивают интеграцию с системой контроля версий ClearCase.
Также как и другие пакеты, пакет clearcase поддерживает стандартный механизм настройки
Emacs. Для настройки надо всего лишь выполнить команду M-x customize-group clearcase
.
С его помощью пользователь может задать множество параметров, например, что использовать в
качестве программы diff
, а также другие параметры. Надо лишь внимательно читать описания
переменных и сопоставлять их с концепциями ClearCase.
Last change: 05.03.2013 16:54