MSSCCPRJ. SCC-файл

Когда вы помещаете решение Или проект Visual Studio в систему управления версиями с помощью интегрированной среды разработки, интегрированная среда разработки получает две ключевые части информации. Информация поступает из подключаемого модуля управления версиями в виде строк. Эти строки AuxPath и ProjName непрозрачны для интегрированной среды разработки, но они используются подключаемым модулем для поиска решения или проекта в элементе управления версиями. Интегрированная среда разработки обычно получает эти строки при первом вызове SccGetProjPath, а затем сохраняет их в файле решения или проекта для будущих вызовов SccOpenProject. При внедрении в файлы решения и проекта строки "AuxPath" и "ProjName" не обновляются автоматически, когда пользовательские ветви, вилки или копируют файлы решения и проекта, которые находятся в элементе управления версиями. Чтобы убедиться, что файлы решения и проекта указывают на правильное расположение в элементе управления версиями, пользователи должны вручную обновить строки. Так как строки должны быть непрозрачными, это может не всегда быть ясно, как они должны быть обновлены.

Подключаемый модуль управления версиями может избежать этой проблемы, сохраняя строки "AuxPath" и "ProjName" в специальном файле, называемом файлом MSSCCPRJ.SCC . Это локальный, клиентский файл, принадлежащий и поддерживаемый подключаемым модулем. Этот файл никогда не помещается в систему управления версиями, но создается подключаемым модулем для каждого каталога, содержащего управляемые источником файлы. Чтобы определить, какие файлы являются решениями и файлами проекта Visual Studio, подключаемый модуль управления версиями может сравнить расширения файлов со стандартным или пользовательским списком. После того как интегрированная среда разработки обнаруживает, что подключаемый модуль поддерживает файл MSSCCPRJ.SCC , он перестает внедрять строки "AuxPath" и "ProjName" в файлы решения и проекта, а затем считывает эти строки из файла MSSCCPRJ.SCC .

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

  • В каждом каталоге может быть только один файл MSSCCPRJ.SCC .

  • Файл MSSCCPRJ.SCC может содержать AuxPath и ProjName для нескольких файлов, находящихся под управлением версиями в заданном каталоге.

  • Строка "AuxPath" не должна содержать кавычки внутри нее. В качестве разделителей можно использовать кавычки (например, пару двойных кавычки можно использовать для указания пустой строки). Интегрированная среда разработки будет удалять все кавычки из строки "AuxPath", когда она считывается из файла MSSCCPRJ.SCC .

  • Строка "ProjName" в MSSCCPRJ. Файл SCC должен точно соответствовать строке, возвращаемой SccGetProjPath из функции. Если строка, возвращаемая функцией, содержит кавычки вокруг нее, строка в файле MSSCCPRJ.SCC должна содержать кавычки вокруг него и наоборот.

  • Файл MSSCCPRJ.SCC создается или обновляется при каждом размещении файла под управлением версиями.

  • Если файл MSSCCPRJ.SCC удаляется, поставщик должен повторно создать его при следующем выполнении операции управления версиями в отношении этого каталога.

  • Файл MSSCCPRJ.SCC должен строго соответствовать определенному формату.

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

Ниже приведен пример формата файла 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"

Первая строка указывает назначение файла и служит сигнатурой для всех файлов этого типа. Эта строка должна отображаться точно так же во всех файлах MSSCCPRJ.SCC :

SCC = This is a Source Code Control file

В следующем разделе описаны параметры каждого файла, помеченные именем файла в квадратных скобках. Этот раздел повторяется для каждого отслеживаемого файла. Эта строка представляет собой пример имени файла, а именно [TestApp.csproj]. Интегрированная среда разработки ожидает следующие две строки. Однако он не определяет стиль определенных значений. Переменные и SCC_Aux_PathSCC_Project_Name.

SCC_Aux_Path = "\\server\vss\"

SCC_Project_Name = "$/TestApp"

В этом разделе нет разделителя. Имя файла, а также все литералы, которые отображаются в файле, определены в файле заголовка scc.h. Дополнительные сведения см. в разделе "Строки", используемые в качестве ключей для поиска подключаемого модуля управления версиями.

См. также