Меню:


Microsoft Visual SourceSafe является часто используемой системой контролей версий, в проектах по созданию программного обеспечения для операционных систем фирмы Microsoft. Кроме реализации этой системы для Microsoft Windows, существуют и реализации для других операционных систем. Подробнее об этой системе вы можете прочитать на странице на сайте Microsoft.

Интеграция Emacs с Visual SourceSafe обеспечивается пакетом source-safe.el. Он позволяет работать с данной системой контроля версий не покидая Emacs. В следующих разделах будет рассказано о установке, настройке и работе с пакетом.

Установка пакета source-safe.el

Для установки пакета вам нужно скачать его со страницы автора. Поместите скачанный файл туда, где его найдет Emacs и используйте команды

(setq ss-program "S:\\WinNT\\SS.exe"
      ss-project-dirs '(("^D:\\\\OCI\\\\" . "$/PurifyW/")))
(require 'source-safe)

для его загрузки. Первые две строки задают расположение исполняемого модуля Visual SourceSafe и пути к каталогам проектов, а третья строка загружает пакет.

Работа с пакетом

Получение данных из репозитория осуществляется с помощью нескольких команд. Команда ss-get извлекает самую последнюю версию текущего файла из репозитория. В том случае, если она запускается из буфера Dired, то обновляется весь текущий каталог и все его подкаталоги. Для извлечения текущего файла из репозитория также может использоваться команда ss-checkout. Команда ss-lock позволяет извлечь текущий файл из репозитория, но при этом не заменяет текущую копию данного файла.

Получить список внесенных изменений пользователь может с помощью команды ss-diff. Сравнение производится с помощью команды, заданной переменной ss-diff-program. В том случае, если задан параметр non-interactive-p, то результат выполнения команды отображается в новом буфере, иначе для работы с изменениями, используется Ediff. Подтверждение изменений в репозиторий производится с помощью команды ss-checkin.

Пользователь может создать собственную ветку разработки с помощью команды ss-branch. По завершении работы с ответвленным файлом, можно слить изменения, используя функцию ss-merge, которая обеспечивает трех-стороннее слияние изменений в базовую ветвь. Удалить неиспользуемую ветвь можно с помощью команды ss-unbranch, при этом удаляются все внесенные в нее изменения.

Для получения информации, пользователь может использовать несколько команд — команда ss-history отображает историю изменений для текущего файла, команда ss-status показывает статус текущего файла в репозитории Visual SourceSafe, а команда ss-locate позволяет найти расположение текущего файла в репозитории Visual SourceSafe.

К остальным командам пакета относятся команды ss-help, которая показывает краткое описание основных команд и переменных пакета, и ss-submit-bug-report, которая позволяет отправить разработчикам пакета сообщение о найденной ошибке.

Настройка пакета

Настройка пакета производится с помощью переопределения соответствующих переменных. Основными переменными настройки являются переменная ss-program, которая задает путь к исполняемому модулю Visual SourceSafe и переменная ss-project-dirs, которая задает связи между каталогами на диске и именами проектов.

Пользователь также может настроить поведение пакета с помощью других переменных:

ss-username
задает имя пользователя, если значение не задано, то будет использоваться имя текущего пользователя;
ss-password
задает пароль пользователя, если значение не задано, то пароль будет запрошен при первом доступе к репозиторию;
ss-database-alist
список, связывающий именя файлов с базами данных Visual SourceSafe. Эта переменная используется в том случае, если вы одновременно используете несколько баз Visual SourceSafe;
ss-update-email-to, ss-update-email-subject и ss-update-email-body
определяют адрес куда будут отраправляться сообщения о подтверждении данных в репозиторий, а также заголовок сообщения и его тело;
ss-multiple-checkouts-enabled
определяет, можно ли использовать множественное получение данных из репозитория;
ss-confirm-updates
определяет, нужно ли требовать подтверждения при выполенении команды UPDATE или нет.

Пакет также определяет два хука — ss-before-update-hooks и ss-after-update-hooks, которые вызываются до и после выполнения команды UPDATE системы Visual SourceSafe.

Last change: 05.03.2013 16:54

blog comments powered by Disqus