Для системы 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 — запускает ClearExplorerclearcase-gui-deliverclearcase-gui-merge-manager — запускает менеджер слияний;clearcase-gui-project-explorer — запускает утилиту работы с проектами;clearcase-gui-rebaseclearcase-gui-snapshot-view-updaterclearcase-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