我有一个由我管理的项目。
它具有以下结构:
$ /代码/ MainSolution $ /代码/分行
我想在$ / Code / Branches
中分支MainSolution所以我这样做,(它工作得很好),我为该项目设置了一个工作文件夹并做了“最新的”。
但是当我在Visual Studio 2005中打开该解决方案时,它将每个文件标识为新文件(文件前面的+符号),当我提交它时,它会转到
$ /数据/ NameOfTheBranch
为什么这样做?为什么不遵循我的规则?
答案 0 :(得分:2)
我通常会使解决方案下的所有vcproj文件都具有以下内容:
SccProjectName = "SAK"
SccLocalPath = "SAK"
SccAuxPath = "SAK"
SccProvider = "SAK"
这将使其从解决方案文件中获取sourcesafe信息。确保解决方案文件已分支,而不是在2个分支中共享。打开分支解决方案,然后转到“更改源代码管理”并将解决方案绑定到SourceSafe中的正确位置 这一切都相当脆弱(或者我可能并不完全理解它)但我通常只是戳它直到它起作用。 并且,像往常一样:如果可能的话,迁移到不同的源控制系统。 Perforce,Subversion,Mercurial ......
答案 1 :(得分:1)
转到文件,源代码管理,更改 源控制(至少在VS2008上)。
查看Server Binding列。 通常你想要绑定 指向解决方案的根项目 VSS中的目录解决方案 和所有项目。如果没有,那么:
取消绑定所有项目和 溶液
按住Shift键选择整个列表。
将所有内容绑定到解决方案根目录。
如果在分支和固定项目之前执行此操作,则会更容易。之后执行此操作,您必须分支.sln文件,也可能是.vcproj和.vspscc,以便正确保存修改。
Here's是VSS和Visual Studio管理文件的一个很好的参考。这些文件很容易搞砸。
我管理VSS数据库已经很多年了,最近切换到了Mercurial并没有回头看。在VSS中进行分支和合并是非常糟糕的。