Visual Sourcesafe,sharing:提交到错误的位置

时间:2010-04-22 12:55:48

标签: version-control visual-sourcesafe

我有一个由我管理的项目。

它具有以下结构:

$ /代码/ MainSolution $ /代码/分行

我想在$ / Code / Branches

中分支MainSolution

所以我这样做,(它工作得很好),我为该项目设置了一个工作文件夹并做了“最新的”。

但是当我在Visual Studio 2005中打开该解决方案时,它将每个文件标识为新文件(文件前面的+符号),当我提交它时,它会转到

$ /数据/ NameOfTheBranch

为什么这样做?为什么不遵循我的规则?

2 个答案:

答案 0 :(得分:2)

我通常会使解决方案下的所有vcproj文件都具有以下内容:

SccProjectName = "SAK"
SccLocalPath = "SAK"
SccAuxPath = "SAK"
SccProvider = "SAK"

这将使其从解决方案文件中获取sourcesafe信息。确保解决方案文件已分支,而不是在2个分支中共享。打开分支解决方案,然后转到“更改源代码管理”并将解决方案绑定到SourceSafe中的正确位置 这一切都相当脆弱(或者我可能并不完全理解它)但我通常只是戳它直到它起作用。 并且,像往常一样:如果可能的话,迁移到不同的源控制系统。 Perforce,Subversion,Mercurial ......

答案 1 :(得分:1)

  1. 转到文件,源代码管理,更改 源控制(至少在VS2008上)。

  2. 查看Server Binding列。 通常你想要绑定 指向解决方案的根项目 VSS中的目录解决方案 所有项目。如果没有,那么:

  3. 取消绑定所有项目和 溶液

  4. 按住Shift键选择整个列表。

  5. 将所有内容绑定到解决方案根目录。

  6. 如果在分支和固定项目之前执行此操作,则会更容易。之后执行此操作,您必须分支.sln文件,也可能是.vcproj和.vspscc,以便正确保存修改。

    Here's是VSS和Visual Studio管理文件的一个很好的参考。这些文件很容易搞砸。

    我管理VSS数据库已经很多年了,最近切换到了Mercurial并没有回头看。在VSS中进行分支和合并是非常糟糕的。