Microsoft SCC

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 22:10, 3 мая 2017.

SCC (англ. Source Code Control — управление исходным кодом) — API, разработанный Microsoft и предназначенный для взаимодействия прикладных программ с системами управления версиями.

SCC предоставляет разработчикам прикладных программ стандартный интерфейс для выполнения типичных операций управления версиями, таких как получение нужной версии (check-out), публикация новой версии (check-in) и др. Прикладная программа взаимодействует с основными компонентами SCC, входящими в состав Windows, которые, в свою очередь, вызывают функции из библиотеки, предоставленной системой управления версиями. Таким образом, программа, использующая SCC, может взаимодействовать стандартным способом с любой системой управления версиями, которая зарегистрировала в системе свой SCC-провайдер.

Поддержка SCC есть во многих программах Microsoft и ряде приложений других компаний. В качестве провайдера может выступать Microsoft Visual SourceSafe, существуют также провайдеры для CVS и Subversion[Источник 1].

Провайдеры Microsoft SCC для SVN

SVN SCC Proxy
AgentSVN
TamTamSVN

AgentSVN

Agent SVN работает с разными интегрируемыми средами разработки, которые поддерживают:

TamTamSVN

Совместимая реализация, которая эффективно интегрирует SVN-клиент с такими продуктами как Microsoft Visual Studio / Visual Studio.NET, MatLab, FoxPro, 3D Studio Max и другие приложения, совместимые с MSSCCI.

TamTam SVN SCC поддерживает получение последних файлов, check-in, check-out и все другие существенные функции управления исходным кодом[Источник 3].

PushOK SVN SCC Proxy

SVN SCC proxy — это плагин для Microsoft SCC, осуществляющий полную интеграцию среды разработки с широко известной (бесплатной) системой контроля версий SVN (SubVersion), разработанный компанией PushOk Software. С помощью этого плагина пользователи могут работать в среде также комфортно, как со стандартной системой контроля версий MS SourceSafe. После загрузки и установки программы, которая должна быть лицензирована, вы должны зарегистрировать ее перед использованием, даже если хотите использовать ее в оценочном или бесплатном режиме[Источник 4].

Изменение SCC провайдера, если установлены два или более MSSCCI провайдеров в OS Windows

Чтобы изменить провайдера управления версиями, выполните следующие действия:

  1. Нажмите кнопку Пуск, выберите пункт Выполнить, введите команду regedit и нажмите кнопку ОК, чтобы открыть редактор реестра.
  2. В редакторе реестра разверните следующий раздел реестра:HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider\InstalledSCCProviders
  3. На правой панели дважды щелкните раздел реестра системы управления версиями, который вы хотите использовать (например, Microsoft Visual SourceSafe), а затем скопируйте данные этого ключа в буфер обмена (например, Software\Microsoft\SourceSafe).
  4. В левой области щелкните SourceCodeControlProvider.
  5. В правой области дважды щелкните ProviderRegKey.
  6. В диалоговом окне Изменение строки замените весь текст в поле Значение содержимым буфера обмена и нажмите кнопку ОК.
  7. Закройте редактор реестра.
  8. Перезапустите приложение, чтобы изменения вступили в силу[Источник 5].

Microsoft Team Foundation Server

Microsoft выпустила несколько MSSCCI-провайдеров для разных версий Team Foundation Server:

  • MSSCCI Provider for Team Foundation Server 2010
  • MSSCCI Provider for Team Foundation Server 2012
  • MSSCCI Provider for Team Foundation Server 2013 and 2015

Для TFS MSSCCI провайдеров необходим Team Explorer. Если ваша Visual Studio не включает в себя Team Explorer, то ее необходимо установить[Источник 6].

SCC в Platform Builder на базе Windows CE.NET

Системы управления исходного кода позволяют вам отследить изменения файлов исходного кода во время разработки программного обеспечения. С помощью Microsoft Platform Builder вы можете интегрировать систему управления исходного кода в свою среду проектирования. Если вы устанавливаете систему управления исходного кода, которая соответствует системе управления исходного кода Microsoft Source Code Control Interface, то вы сможете получить доступ к функциям контроля непосредственно из меню Platform Builder.

Если ваша установленная система управления исходного кода поддерживает операции в дополнение к тем, которые использует Microsoft Source Code Control Interface, то Platform Builder обеспечивает доступ к этим опциям с помощью кнопок Advanced. Кнопки Advanced могут быть найдены в нескольких диалоговых окнах, включая вкладку Source Control, команды Options из меню Tools, диалогового окна Add to Source Control и диалогового окна Check In File из меню Project. Если никакие другие операции не доступны, то кнопка Advanced будет затемнена или не появится.

Пока вы не установите систему управления исходного кода, которая поддерживает Microsoft Source Code Control Interface, меню контроля за исходным кодом не появится[Источник 7].

SCC на базе Windows Embedded CE 6.0

Системы управления исходного кода позволяют вам отследить изменения файлов исходного кода во время разработки программного обеспечения. С помощью Windows Embedded CE 6.0 вы можете использовать систему управления исходного кода со своей средой разработки

Platform Builder для CE 6.0 не поддерживает плагин контроля за исходным кодом в Microsoft Visual Studio 2005. Чтобы использовать Platform Builder для CE 6.0 с системой управления исходного кода, вы должны управлять файлами в пользовательском интерфейсе вашей системы управления исходного кода, вместо программного расширения, которое объединено с Visual Studio 2005[Источник 8].

Управление исходным кодом веб-узлов

Если на компьютере установлена система управления исходным кодом, совместимая с Visual Web Developer, то командами управления исходным кодом, которые включены в Visual Web Developer, можно пользоваться как для проверки файлов, внесенных в систему управления исходным кодом, так и для проверки внешних по отношению к ней файлов, объединения файлов, просмотра истории файлов и выполнения прочих задач по управлению исходным кодом веб-узла[Источник 9].

Управление конфигурацией программного обеспечения с позиции управления исходным кодом (SharePoint 2007)

Эффективное управление исходным кодом — один из важнейших элементов любого проекта разработки. Управление исходным кодом позволит гарантировать успешность совместной работы в проектах разработки программного обеспечения следующим образом:

  • защищая ресурсы группы от случайного удаления;
  • защищая отдельные изменения от бессознательной перезаписи;
  • позволяя нескольким разработчикам работать над одними элементами проекта или разделами проекта одновременно;
  • поддерживая историю версий всех элементов проекта.

С Microsoft Office SharePoint Server 2007 можно использовать любую систему или приложение для управления исходным кодом. Обычно для среды разработки и управления исходным кодом используется Microsoft Visual Studio Team Foundation с надежным, масштабируемым, быстрым, легко защищаемым, расширяемым поставщиком управления исходным кодом корпоративного класса и возможностями управления исходным кодом, уже известными группе. Поставщик управления исходным кодом Visual Studio Team Foundation поставляется в виде отдельного приложения для управления конфигурацией программного обеспечения или как интегрированный компонент управления изменениями в Visual Studio 2005 Team System[Источник 10].

SCC в Visual Studio 2015

Основные функции SCC в Visual Studio 2015

Заголовочный файл: scc.h

Инициализация и вспомогательные функции

Функция Описание
SccCloseProject Закрытие проекта.
SccGetCommandOptions Пользователю предлагается установка дополнительных параметров для данной команды.
SccGetVersion Возвращает версию системы управления версиями подключаемого модуля.
SccInitialize Инициализирует модуль управления версиями. Он вызывается один раз для каждого экземпляра подключаемого модуля.
SccOpenProject Открывает проект.
SccSetOption Универсальная функция используется для задания разнообразных параметров. Каждый параметр начинается с SCC_OPT_xxx и имеет свой собственный набор определенных значений.
SccUninitialize Вызывается, когда когда подключаемый модуль системы управления версиями подключен.
[Источник 11]

Основные функции управления источником

Функция Описание
SccAdd Добавляет массив файлов.
SccAddFromScc Позволяет пользователю выполнять поиск файлов, находящихся в системе управления версиями, а затем сделать эти файлы частью текущего проекта.
SccCheckin Возвращает массив файлов.
SccCheckout Извлекает массив файлов.
SccDiff Отображает различия между локальными пользовательскими файлами.
SccGet Извлекает копию набора файлов только для чтения.
SccGetEvents Проверяет состояние файлов, задаваемые в вызывающей стороне через SccQueryInfo
SccHistory Показывает историю для массива имен.
SccPopulateList Проверяет список файлов и их текущее состояние. Кроме того, использует функцию pfnPopulate для уведомления вызывающей стороны, если файл не соответствует критериям для nCommand.
SccProperties Отображает свойства полного имени файла.
SccQueryInfo Проверяет список файлов с полным именем и их текущее состояние.
SccRemove Удаляет массив файлов с полным именем из системы управления версиями.
SccRename Переименовывает указанный файл в системе управления версиями.
SccRunScc Обращается к полному спектру возможностей системы управления версиями.
SccUncheckout Отменяет извлечение массива файлов.
[Источник 11]

Макросы для быстрой проверки на наличие ошибок

C++

IS_SCC_ERROR(rtn) (((rtn) < 0) ? TRUE : FALSE)  
IS_SCC_SUCCESS(rtn) (((rtn) == SCC_OK) ? TRUE : FALSE)  
IS_SCC_WARNING(rtn) (((rtn) > 0) ? TRUE : FALSE)
[Источник 12]

MSSCCPRJ.SCC файл

При подключении модуля управления источником, поддерживающий MSSCCPRJ.SCC файл, необходимо придерживаться следующих рекомендаций:

  • может быть только один MSSCCPRJ.SCC файл для каждого каталога;
  • MSSCCPRJ.SCC файл может содержать «AuxPath» и «ИмяПроекта» для нескольких файлов, которые находятся в системе управления версиями в заданном каталоге;
  • строка «AuxPath» не должна иметь кавычки внутри нее;
  • строка «ИмяПроекта» в MSSCCPRJ.SCC файле должна точно совпадать со строкой возвращаемой функции SccGetProjPath;
  • MSSCCPRJ.SCC файл должен иметь строго определенный формат[Источник 13].

Иллюстрация формата файла MSSCCPRJ.SCC

[Строка 1]SCC = This is a Source Code Control file 
[Строка 2]
[Строка 3][TestApp.sln]
[Строка 4]SCC_Aux_Path = "\\server\vss\"
[Строка 5]SCC_Project_Name = "$/TestApp"
[Строка 6]
[Строка 7][TestApp.csproj]
[Строка 8]SCC_Aux_Path = "\\server\vss\"
[Строка 9]SCC_Project_Name = "$/TestApp"

Управление хранилищем файлов в Visual Studio при помощи SCC

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

При открытии файла, который находится под управлением исходным кодом, и который не извлекается, будет предложено подтвердить, нужно ли его извлечь. Если над файлом выполняется редактирование и кто-либо извлечет файл, в заголовке окна появится [Read only], если в системе управления не используется автоматическое ветвление (совместное использование файлов). При попытке сохранить файл появится диалоговое окно Сохранить как, позволяющее сохранить его под другим именем или в другом месте. Если файл извлечен и извлечение отменено, изменения потеряются, хотя и будет предложено выбрать, сохранять изменения или нет[Источник 14].

Поддержка SCC в IBM Rational Team Concert

В версии 4.0 клиента IBM Rational Team Concert появляется поддержка MS-SCCI.

MS-SCCI - спецификация, которая позволяет системам управления исходным кодом взаимодействовать через интерфейс с приложениями Microsoft Windows. Система управления исходным кодом реализует плагин, который представляет собой функции управления исходным кодом через APIs, которые определены спецификацией. Приложение использует функции управления исходным кодом при вызове APIs.

Когда вы используете провайдера MS-SCCI, функции управления исходным кодом интегрируются прямо в ваше приложение, и вам не нужен другой клиент, чтобы выполнить операции управления исходным кодом[Источник 15].

Источники

  1. Microsoft SCC // Википедия. [2017-2017]. Дата обновления: 09.07.2013. URL: https://ru.wikipedia.org/wiki/Microsoft_SCC (дата обращения: 14.04.2017)
  2. Overview // Agent SVN [2017-2017]. URL: http://www.zeusedit.com/agent/index.html (дата обращения: 19.04.2017)
  3. TAMTAM SVN SCC // Fieldston Software [2017-2017]. URL: http://www.daveswebsite.com/software/tamtamsvn/ (дата обращения: 19.04.2017)
  4. Subversion SVN plug-in for SCC API enabled IDE // PushOk [2003-2015]. URL: http://www.pushok.com/software/svn.html (дата обращения: 14.04.2017)
  5. HOW TO: Change Source Control Providers If Two or More MSSCCI-Compliant Providers Are Installed // Microsoft Support [2017-2017]. Дата обновления: 29.04.2003. URL: https://support.microsoft.com/en-us/help/319318/how-to-change-source-control-providers-if-two-or-more-msscci-compliant-providers-are-installed (дата обращения: 21.04.2017)
  6. MSSCCI Provider - What? Why? Where? // Ivercy [2015-2017]. URL: http://www.ivercy.com/Support/faqitem/msscci-provider-what-why-where (дата обращения: 21.04.2017)
  7. Source Code Control // Microsoft Developer Network [2017-2017]. Дата обновления: 08.09.2004. URL: https://msdn.microsoft.com/en-us/library/ms910181.aspx (дата обращения: 14.04.2017)
  8. Source Code Control // Microsoft Developer Network [2017-2017]. Дата обновления: 01.06.2010. URL: https://msdn.microsoft.com/en-US/library/ee482413(v=winembedded.60).aspx (дата обращения: 14.04.2017)
  9. Управление исходным кодом веб-узлов // Microsoft Developer Network [2017-2017]. Дата обновления: 01.10.2007. URL: https://msdn.microsoft.com/ru-ru/library/64fs8h82(v=vs.100).aspx (дата обращения: 14.04.2017)
  10. Настройка среды управления конфигурацией программного обеспечения // TechNet [2017-2017]. Дата обновления: 20.12.2007. URL: https://technet.microsoft.com/ru-ru/library/cc263003(v=office.12).aspx (дата обращения: 14.04.2017)
  11. 11,0 11,1 Функции API подключаемого модуля источника элемента управления // Microsoft Developer Network [2017-2017]. URL: https://msdn.microsoft.com/ru-ru/library/bb165429.aspx (дата обращения: 16.04.2017)
  12. Коды ошибок // Microsoft Developer Network [2017-2017].URL: https://msdn.microsoft.com/ru-ru/library/bb166520.aspx (дата обращения: 16.04.2017)
  13. MSSCCPRJ.SCC файл // Microsoft Developer Network [2017-2017]. URL: https://msdn.microsoft.com/ru-ru/library/bb165760.aspx (дата обращения: 16.04.2017)
  14. Управление хранилищем файлов // Microsoft Developer Network [2017-2017]. URL: https://msdn.microsoft.com/ru-ru/library/hb59tezb(v=vs.100).aspx (дата обращения: 14.04.2017)
  15. Microsoft Source Code Control Interface // Jazz [2017-2017]. URL: https://jazz.net/library/article/87667 (дата обращения: 19.04.2017)

Ссылки