Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Version control Visual Sourcesafe,共享:提交到错误位置_Version Control_Visual Sourcesafe - Fatal编程技术网

Version control Visual Sourcesafe,共享:提交到错误位置

Version control Visual Sourcesafe,共享:提交到错误位置,version-control,visual-sourcesafe,Version Control,Visual Sourcesafe,我管理着一个项目 其结构如下: $/Code/main解决方案 $/代码/分支机构 我想在$/Code/branchs中分支主解决方案 所以我做了,(它工作得很好),我为那个项目设置了一个工作文件夹,并做了一个“获取最新信息” 但是,当我在VisualStudio2005中打开该解决方案时,它会将每个文件标识为新文件(+在文件前面签名),并且当我提交它时,它会转到 $/Data/nameofBranch 为什么会这样?为什么它不遵循我的规则?我通常使解决方案下的所有vcproj文件都具有以下内容

我管理着一个项目

其结构如下:

$/Code/main解决方案 $/代码/分支机构

我想在$/Code/branchs中分支主解决方案

所以我做了,(它工作得很好),我为那个项目设置了一个工作文件夹,并做了一个“获取最新信息”

但是,当我在VisualStudio2005中打开该解决方案时,它会将每个文件标识为新文件(+在文件前面签名),并且当我提交它时,它会转到

$/Data/nameofBranch


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

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

SccProjectName = "SAK"
SccLocalPath = "SAK"
SccAuxPath = "SAK"
SccProvider = "SAK"
这将使它从解决方案文件中获取sourcesafe信息。确保解决方案文件是分支的,而不是在两个分支中共享。打开分支的解决方案,然后转到“更改源代码管理”,并将解决方案绑定到SourceSafe中的正确位置。
这一切都相当脆弱(或者我不完全理解),但我通常只是戳它直到它起作用。 和往常一样:如果可能的话,迁移到不同的源代码管理系统。性能,颠覆,反复无常

  • 转到文件、源代码管理、更改 源代码管理(至少在VS2008上)

  • 查看服务器绑定列。 通常,您希望绑定到 指向解决方案的根项目 解决方案的VSS中的目录 所有项目。若否,则:

  • 取消绑定所有项目和 解决方案

  • 按住Shift键并选择整个列表

  • 将所有内容绑定到解决方案根目录

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

    这是VSS和Visual Studio管理文件的良好参考。这些文件很容易就会出错


    我管理VSS数据库的时间太长了,最近切换到Mercurial,没有回头看。VSS中的分支和合并非常糟糕。

    请详细说明代码示例的含义。使用文本编辑器打开vcproj文件,并将此变量的任何值替换为“SAK”。这将使项目与SourceSafe分离,您将使用sln文件将项目与SourceSafe关联。这很好,因为您现在可以只在一个地方更改SS中的项目位置(我们的一个解决方案中有60个项目!)。然后,当您进行分支时,您只需要对解决方案进行分支并在其中更改SS绑定,而不是在解决方案和项目中都更改它。但是分支仍然有效吗?它还会与主干关联吗?我可以在病房后合并吗?(这可能吗?…)我的分支是固定在我进行复制的版本上的主干的共享副本。当我需要对旧分支中的文件进行更改时,即当我实际对其进行分支时(因为显然无法修改固定的文件)。我不使用SS合并功能,也不手动进行合并,但我不确定为什么要手动进行合并。