Где Visual Studio сохраняет информацию, связанную с SCM? - PullRequest
1 голос
/ 27 августа 2009

Я использую комбинацию Visual Studio (2005) + Perforce для конкретного решения и хочу вручную изменить параметр Perforce (имя клиента).

Из диалогового окна VS «Change Source Control» кажется, что информация SCM сохраняется для каждого проекта; однако файлы .csproj.vspscc, по-видимому, не содержат никакой информации, связанной с Perforce, и также.

Вот как выглядит файл .vspscc:

""
{
"FILE_VERSION" = "9237"
"ENLISTMENT_CHOICE" = "NEVER"
"PROJECT_FILE_RELATIVE_PATH" = ""
"NUMBER_OF_EXCLUDED_FILES" = "0"
"ORIGINAL_PROJECT_FILE_PATH" = ""
"NUMBER_OF_NESTED_PROJECTS" = "0"
"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
}

Последняя строка указывает на то, что настройки SCM хранятся извне, но где?

Ответы [ 3 ]

1 голос
/ 13 ноября 2009

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

Кроме того, если вы делаете Perforce с Visual Studio, вы можете проверить плагин NiftyPerforce (http://code.google.com/p/niftyplugins/wiki/NiftyPerforceDocumentation),который я всегда находил немного лучше, чем у Perforce.

1 голос
/ 27 августа 2009

Для вашей локальной рабочей копии Perforce сохраняет информацию о соединении в файле MSSCCPRJ.SCC. Это выглядит так:

SCC = This is a source code control file

[Solution1.sln]
SCC_Aux_Path = "P4SCC#<host>:<port>##<user>##<client hostname>"
SCC_Project_Name = Perforce Project

[Project1.csproj]
SCC_Aux_Path = "P4SCC#<host>:<port>##<user>##<client hostname>"
SCC_Project_Name = Perforce Project

В файле .sln также есть некоторая информация, которая может передаваться между пользователями, возможно, по устаревшим причинам. Это может быть использовано, если файл MSSCCPRJ.SCC недоступен.

Сколько P4 использует или игнорирует эти настройки, зависит от их реализации.

0 голосов
/ 07 сентября 2009

Откройте файл vcproj в текстовом редакторе и найдите записи, начинающиеся с Scc (SccProjectName, SccAuxPath, SccLocalPath, SccProvider ...). Эти записи определяют привязку SCC проекта.

Например, проект, контролируемый Source Safe, выглядит следующим образом:

SccProjectName="&quot;$/Services&quot;. TPCAAAAA"
SccLocalPath=".."
SccProvider="MSSCCI:Microsoft Visual SourceSafe"

Проект, контролируемый SVN, выглядит так:

SccProjectName="Svn"
SccAuxPath="Svn"
SccLocalPath="Svn"
SccProvider="SubversionScc"
В

файлах sln есть похожие записи, которые вы можете проверить

...