如何将VS2008源代码控制暂时从VSS更改为Mercurial?

时间:2011-07-13 21:39:23

标签: visual-studio-2008 mercurial visual-sourcesafe

在我的新工作地点,我正在开发Visual Studio 2008中的解决方案,其源代码控制已经是Visual SourceSafe 2005.由于很多原因可能与此处无关,开发人员需要暂时与VSS断开工作(并且相互之间,在这种情况下会很好)。我们现在不允许在VSS办理登机手续或拉车。

由于我无法在没有源代码控制的情况下工作,我的想法是在我的机器上设置Mercurial并将其用作项目的源代码控制,直到我们回到VSS。 VSS控制文件可以作为项目的一部分。我安装了VisualHg扩展。从命令行,我创建了我的hg存储库。但是,当我尝试加载解决方案时,会发生以下两种情况之一,具体取决于VisualHg的“Autoselect VisualHG for Mercurial解决方案”选项的值:

  1. (自动选择)加载项目时,我收到一条消息:“活动解决方案或项目由与您选择的插件不同的源控件插件控制。如果更改源控件插件,活动解决方案或项目将被关闭。你想继续吗?“如果我选择是,当然解决方案会关闭。如果选择“否”,解决方案将加载VSS源控件激活。
  2. (自动关闭)项目加载VSS源控件处于活动状态。尝试将活动插件更改为VisualHG(来自工具 - >选项 - >源代码管理 - >插件选择)会产生与上面相同的消息。
  3. 有没有办法我可以轻松(最好不要直接搞乱.sln或.csproj文件)在这里使用Mercurial而不是VSS,知道我将在几天内切换回VSS?不,此时完全放弃VSS不是一种选择(我希望如此)。此外,目前无法将项目升级到VS2010。

    谢谢!

1 个答案:

答案 0 :(得分:1)

这不是你提出的问题,但一种选择是在你自己的机器上创建一个VSS数据库并使用它直到真正的VSS再次可用。在您自己的系统上使用VSS将涉及许多与使用其他SCC工具相同的步骤,因此在本地使用VSS而不是使用Mercurial可能没有任何明显的优势。

在Visual Studio 2008中,您可以使用File |源控制|更改源代码管理以中断解决方案和项目(或项目)的本地副本与Visual SourceSafe之间的绑定。在该对话框中,选择所有条目,然后单击取消绑定。这应该解决你的“......由不同的源代码控制插件控制......”问题。

当需要切换回VSS时,您可以丢弃本地副本并从VSS重新获得一份新副本(如果您没有想要检查回VSS的本地副本),或者您可以使用相同的对话框来绑定你的项目回到了VSS。

或者,如果您对绑定没有信心,可以从VSS重新获得一份新副本,然后使用Mercurial中的修改后的副本覆盖您的本地文件,然后检查这些已更改的文件,并将其更改为VSS。