2

我有一个项目,我一直在使用 VS Pending Checkins 选项卡中的 VSS 源代码控制。这一直有效,直到最近。现在,当我对代码进行更改时,我在 Pending Checkins 选项卡中没有看到条目。

我看到了这篇文章,但是在右键单击解决方案或在文件 -> 源代码管理下都没有看到联机选项。可能是因为那个人使用的是 TFS 而不是 VSS。

我尝试断开源代码管理链接并创建一个新树,但是当我进行更改时它仍然没有自动签出。我一直在使用 Check Out For Edit 选项,然后签入,但是无论我是否进行更改,这都会获取所有类。我在 VS 中使用源代码管理,因为该列表可以很容易地确定我是否需要签入某些内容。

有没有人知道为什么这可能已经停止与这个项目合作。它仍在其他项目中工作。我确实为保存和编辑选择了“自动签出”。允许编辑签入的项目未被选中,源代码管理 -> 环境下的任何其他选项也未被选中。

感谢您提出的任何建议。

更新:我刚刚在解决方案中添加了一个新类,该类出现在待处理的签入下。但是,我也对其他类进行了一些更改,但它们都没有出现在 checkins 下。

4

1 回答 1

0

我也通过 Visual Studio 依赖 SourceSafe 来自动签出文件。但它通常只是默认情况下有效,尽管您需要知道我从这篇解释风险方法的帖子中学到的某些假设:

如果您获取所有文件而不签出它们,那么这些文件将是只读的,正如您在 Windows 资源管理器属性中看到的那样。然后,当您对任何文件键入第一次编辑时,VS/VSS 首先检查该文件的只读属性。如果它是只读的,那么文件将被自动检出(这是默认选项)。然后,当您准备签入一组文件时,VS 会显示所有“待签入”,您可以将它们作为一组签入。

多年来我一直依赖它,因为它在我们的环境中一直对我很好,直到几周前我的许多源文件以某种方式丢失了它们的只读属性。所以如果没有只读,一些文件没有被检出,因此没有被检入。这真的很难检测到,直到你的硬盘崩溃并且你尝试从另一台机器构建!

我在这里找到了一种修复只读属性的方法:

签入所有已编辑的文件(使用 VSS 找出更改的文件 [使用差异],即使 VS 没有签出它们)。然后做了一个覆盖本地文件的获取最新版本,并确保未选中“保持可写”复选框。

于 2015-04-01T14:05:21.813 回答