【问题标题】:Is it possible to use P4VS and P4SCC together?可以同时使用 P4VS 和 P4SCC 吗?
【发布时间】:2014-02-19 01:04:25
【问题描述】:

我正在处理的项目使用一个 .NET 解决方案文件和多个 C# 项目。 IDE 是 Visual Studio 2012,Perforce 用于源代码控制。 .sln.csproj 文件包含 SCC 绑定信息,例如 .csproj 文件:

<SccProjectName>Perforce Project</SccProjectName>
<SccLocalPath>..</SccLocalPath>
<SccAuxPath>
</SccAuxPath>
<SccProvider>MSSCCI:Perforce SCM</SccProvider>

...和 ​​.sln 文件:

Global
    GlobalSection(SourceCodeControl) = preSolution
        SccNumberOfProjects = 43
        SccLocalPath0 = .
        SccProjectUniqueName1 = AnotherProj\\AnotherProj.csproj
        SccLocalPath1 = .
        SccProjectFilePathRelativizedFromConnection1 = AnotherProj\\
        SccProjectUniqueName2 = MyProj\u0020Domain\\MyProj\u0020Domain.csproj
        SccLocalPath2 = .
        SccProjectFilePathRelativizedFromConnection2 = MyProj\u0020Domain\\
    ... etc ...

According to Perforce,有一个从 P4SCC 迁移到 P4VS 的过程:

从 P4SCC 迁移到 P4VS 迁移您的解决方案和项目 从 P4SCC(Perforce SCC 插件)到 P4VS,您必须执行 下列的: 1. 从解决方案 (.sln) 文件和所有项目文件(csproj、vcxproj 等)中剥离绑定。 2. 删除 MSSCCPROJ.SCC 和其他源代码控制特定文件。 3. 将所有开发人员移至 P4VS 并让他们卸载旧的 P4SCC 插件。有关详细说明,请参阅 www.perforce.com/perforce/doc.current/user/p4vs_p4scc_migration.txt.

但是,由于项目的测试状态,这些文件可能不会被修改。此外,一些开发人员更喜欢使用 P4SCC。

虽然我了解官方流程是将项目和解决方案迁移(从 P4SCC)以使用 P4VS,但我确实记得在网上阅读过一条评论(我没有链接),有人声称他是无需修改项目文件即可同时使用两者。

是否可以在每次启动时不必更改源代码控制提供程序,并单击一系列有关不匹配绑定的警告/错误消息来执行此操作?如果有,怎么做?

【问题讨论】:

    标签: visual-studio visual-studio-2012 version-control perforce p4vs


    【解决方案1】:

    我发现您可以对存在于 .vcxproj 中的 SCC 绑定设置一个条件,如下所示,这意味着您无需检查 .vcxproj,只需检查 .sln,这对我们来说永远不会真正变化。

    所以现在我可以使用 P4VS,而其他人可以使用 P4SCC,而不会被烦人的对话框打断(至少在最初从 .sln 中删除源代码控制之后)。

    在示例中,我只是在我的环境变量中设置了 BUILD_USE_P4VS=1。任何使用 P4SCC 的人都不会。

    <PropertyGroup Label="Globals" Condition="'$(BUILD_USE_P4VS)'==''">  
        <SccProjectName>Perforce Project</SccProjectName>
        <SccLocalPath>..\..\..\..</SccLocalPath>
        <SccProvider>MSSCCI:Perforce SCM</SccProvider>
    </PropertyGroup>
    

    【讨论】:

      【解决方案2】:

      抱歉,这是不可能的。可以同时安装 P4VS 和 P4SCC 并将其用于不同的项目,但各个项目必须绑定到单个源代码控制提供程序。

      【讨论】:

        猜你喜欢
        • 2010-10-29
        • 2011-06-24
        • 2015-06-16
        • 2021-10-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-21
        相关资源
        最近更新 更多