Поделиться через


Модель для пакетов системы управления версиями

Следующая модель представляет пример реализации системы управления версиями. В модели отображаются интерфейсы, которые необходимо реализовать, и службы среды, которые необходимо вызвать. Как и все службы, вы фактически вызываете методы определенного интерфейса, который вы получаете с помощью службы. Имена классов определяются, чтобы упростить работу системы управления версиями.

Примеры SCC_TUP

Пример проекта управления версиями

Интерфейсы

Вы можете реализовать управление версиями для новых типов проектов в Visual Studio с помощью списка интерфейсов, показанных в следующей таблице.

Интерфейс Использование
IVsQueryEditQuerySave2 Вызывается проектами и редакторами перед сохранением или изменением (грязное) файлов. Доступ к этому интерфейсу SVsQueryEditQuerySave осуществляется с помощью службы.
IVsTrackProjectDocuments2 Вызывается проектами для запроса разрешения на добавление, удаление или переименование файла или каталога. Этот интерфейс также вызывается проектами для информирования среды о завершении утвержденного действия добавления, удаления или переименования. Доступ к нему осуществляется с помощью SVsTrackProjectDocuments службы.
IVsTrackProjectDocumentsEvents2 Реализована любой сущностью, регистрируемой при добавлении, переименовании или удалении файла или каталога проекта. Чтобы зарегистрировать уведомление о событии, вызовите .AdviseTrackProjectDocumentsEvents
IVsSccManager2 Вызывается проектами для регистрации в пакете управления версиями и получения сведений о состоянии системы управления версиями. Доступ к этому интерфейсу SVsSccManager осуществляется с помощью службы.
IVsSccProject2 Реализован проектом для реагирования на запросы системы управления версиями для получения сведений о файлах и получения параметров системы управления версиями, необходимых для файла проекта.