Visual Studio在哪里保存与SCM相关的信息?

时间:2009-08-27 14:37:16

标签: visual-studio version-control perforce

我正在为特定解决方案使用Visual Studio(2005)+ Perforce组合,我想手动修改Perforce参数(客户端名称)。

从VS的“更改源代码管理”对话框中,似乎每个项目都保存了SCM信息;但是,.csproj.vspscc文件似乎没有任何与Perforce相关的信息,也没有.vssscc

以下是.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 个答案:

答案 0 :(得分:1)

对于本地工作副本,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使用或忽略这些设置的程度取决于它们的实现。

答案 1 :(得分:1)

注意您可以设置P4CLIENT环境变量来告诉Perforce您要使用哪个客户端;这不能完全回答你的问题,但也许这是解决问题的另一种方法。

另外,如果您正在使用Visual Studio执行Perforce,您可以查看NiftyPerforce插件(http://code.google.com/p/niftyplugins/wiki/NiftyPerforceDocumentation),我总是发现它比Perforce更好。

答案 2 :(得分:0)

在文本编辑器上打开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文件具有类似的条目,您可以检查