TFS自动结账

8
我最近转到了一个新的客户端,那里的源代码控制系统是TFS 2008。我已经使用Subversion将近4年了,所以这对我来说是一个相当大的改变。我注意到的第一件事是,每当我尝试修改一个文件时,Visual Studio(2008)都会告诉我该文件是只读的。我与负责TFS的人交谈后得知,我需要在修改之前手动检出该文件。所以基本上自动检出对我不起作用。
迄今为止,我得到的唯一建议是在“工具”->“选项”->“源代码控制”->“环境”->“提示进行检出”中启用它。但这并没有起作用——它已经被启用了。(此外,Visual Studio甚至没有提示我进行检出——它只是告诉我该文件受到写保护)
TFS是否设置为不允许自动检出?(我不允许触及TFS设置——我们有一个专门的部门负责此事)还是我只是眼瞎?
5个回答

12

看起来该解决方案并没有与版本控制提供商“绑定”在一起。从Visual Studio的主要文件(File) 菜单中,选择 源代码控制(Source Control)更改源代码控制(Change Source Control…)。您将看到此对话框:

http://alinconstantin.members.winisp.net/webdocs/scc/Bindings1.png

请确保服务器绑定正确,并且每个解决方案/项目都已“连接”。


1
谢谢 - 不知道这到底是怎么发生的 - 我第一次从源代码控制中检出并设置了绑定... - Jaco Pretorius
1
谢谢!这让我疯了! - Page

1

TFS当然可以在开始编辑文件时自动检出。

该选项位于源代码控制 -> 环境 -> 已签入的项目下

您应该从下拉列表中选择“编辑:自动检出”。


阅读理解很重要:到目前为止,我唯一得到的建议是在“工具”->“选项”->“源代码控制”->“环境”->“提示进行签出”中启用它。但这并没有起作用——它已经被启用了。 - user1228
好的,抱歉 - 我只是建议另一个选项:自动检查。可能会有用! - Tor Haugen
嗯......我觉得他可能在那个问题上打错了字。如果他特意设置为提示,我想他不会抱怨他的文件没有自动签出...... - user1228

1
可能是一个奇怪的情况,但我发现当我试图编辑一个文件系统中有一个resx文件但没有包含在项目中的ascx或aspx文件时,Visual Studio不会自动签出或提示签出。 它只是播放了错误声音,没有给出任何消息。 删除resx文件可以解决问题。

0

错误。目前还没有解决方案(至少我认为是这样)。我在 MSDN 论坛问题中记录了我的“解决方法”(可能有 3/4 是巫术,但我无法重现以测试哪些部分有效),该问题是谷歌搜索此问题的首选结果:

这是“自动检出停止工作”的#1 搜索结果,因此我正在记录 Visual Studio 2008 中的解决方案。

当 VS 崩溃时,可能会发生这种情况。它也可能在崩溃后从一个用户传播到另一个用户。

以下是解决此问题的步骤;按照这个顺序进行操作,您的问题很可能会消失。

  1. 将所有内容签入
  2. 关闭 Visual Studio
  3. 确保解决方案目录中的每个文件都设置为只读(在根解决方案文件夹上设置并配置为传播到子级)
  4. 搜索根项目目录下的所有文件 *.user 和 *.vssscc 并将其删除(这可能有点过度杀伤;其中一个或另一个可能是罪魁祸首,但删除两种类型不会对您造成伤害)
  5. 打开 VS 并加载解决方案
  6. 将所有内容签出,然后再将所有内容签入


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接