我正在为特定解决方案使用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设置存储在外部,但在哪里?
答案 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=""$/Services". TPCAAAAA"
SccLocalPath=".."
SccProvider="MSSCCI:Microsoft Visual SourceSafe"
由SVN控制的项目看起来如下:
SccProjectName="Svn"
SccAuxPath="Svn"
SccLocalPath="Svn"
SccProvider="SubversionScc"
sln文件具有类似的条目,您可以检查