无法消除幻影待定TFS更改

时间:2011-12-30 21:11:38

标签: visual-studio-2010 tfs2010

不知何故,由于文件夹重命名和各种其他源代码更改,我有一个恼人的问题。我正在显示一个无法在TFS中撤消的文件的挂起更改。

这有点难以完全解释。以下是目录/文件结构在TFS中的样子:

RootFolder
    Folder
        FileA
        FileB
    OldFolderThatWasRenamedToFolder (shows add icon)
        FileA (shows "edit" pending change)

“OldFolderThatWasRenamedToFolder”已重命名为“Folder”并提交给TFS。该不存在的文件夹下的“FileA”引用与“Folder / FileA”相同的文件,但注册为不同的文件;例如,如果我更改“Folder / FileA”,则会为两个“文件显示挂起的更改。”每当我撤消幻像文件的挂起更改时,TFS都会报告错误:

  

未找到... / Folder / FileA的待处理更改。

我无法摆脱这种令人讨厌的错误待定更改。我在文件夹中完成了更新,强制覆盖,甚至在更新之前删除了文件夹。如何消除此幻影待定更改?

更新

我发现了一个潜在的线索。当我将“待定”文件与最新文件进行比较时,未检测到任何更改,但与“工作区版本”进行比较时,会将文件与文件的旧版本进行比较。我最近尝试删除我的工作区并创建一个新工作区,但同样的问题仍然存在。到底发生了什么?这些挂起的更改甚至存储在哪里?我可以手动编辑一些文件吗?

8 个答案:

答案 0 :(得分:7)

在visual studio 2010中,您可以右键单击“Pending Changes”面板上的幻像挂起签到,然后单击弹出菜单上的“撤消...”,然后单击对话框中的“撤消更改”按钮在“撤消待处理的更改”框中,幻像待处理的签到将从列表中删除。

答案 1 :(得分:4)

您应该可以使用名为TFS Sidekicks的第三方工具撤消待处理的更改。 它是Attrice提供的一套免费工具。我使用它时尤其是当我(或客户端)遇到此类问题以及权限问题等时。

此外,该工具还允许管理员为其他用户执行相同操作。这意味着它将解决代码被标记为由系统中可能不再存在的用户签出的情况。

http://www.attrice.info/cm/tfs/index.htm

下载

希望这有帮助。

答案 2 :(得分:2)

我想出了一种使用tf.exe命令行解决此问题的方法。输入:

tf undo /workspace:MyWorkspace $/.../RootFolder/OldFolderThatWasRenamedToFolder/FileA

...我能够撤消挂起的更改。如果有人知道怎么做而没有使用命令行,我会接受他们的答案。

答案 3 :(得分:2)

我知道这是一篇很老的帖子,但我表达了相同的意思。

我找到了什么:John Kurlak的命令行为我工作。我想尝试一下,所以我再次运行TF MERGE。这次我打开所有Visual Studios,然后重新打开它。文件显示在Pending Changes中,并且可以从那里撤消。

答案 4 :(得分:1)

我知道这是一个老问题,但我只是遇到了这个问题而且我无法用sidekicks或tf命令行工具解决这个问题。在我的情况下,解决方案是关闭解决方案并删除.suo文件。

答案 5 :(得分:0)

John Kurlak的评论给了我很多帮助,但让我描述一下我的案例中发生的问题以及我是如何解决的。

我已经尝试了他的建议:

我打开了开发人员控制台,对我的分支目录执行了cd并运行:

tf undo * /recursive

然后选择"全部"当工具询问"撤消您的更改时......? (是/否/全部)&#34 ;.

在我的情况下,这还不够,因为NUGET留下了一些未添加到TFS的文件。这导致tf工具中止错误:

  

TF400024:改变了   C :( SomePath)\ themes \ base \ images \ ui-icons_cd0a0a_256x240.png不能   撤消,因为文件已存在于   C:(SomePath)\主题\基\ IMAGES \ UI-icons_cd0a0a_256x240.png。文件   必须从磁盘中删除才能使撤消成功。

在这种情况下,我不得不删除手动提到的那些文件,然后重试直到成功。这必须做几次。

注意: 如果安装了TFS电源工具,可以在文件浏览器中更轻松地找到这些文件,因为属于TFS的文件在其图标中有一个绿色三角形,其他文件(您需要删除的文件)没有。

答案 6 :(得分:0)

我遇到类似的问题,一个项目停留在带有“添加”操作的AX版本控制/待处理对象中。我无法通过单击“撤消签出”来摆脱它,因为它不再存在于AX项目,本地存储库和VSTS中。为了摆脱它,我在AX / projects / shared中创建了项目,然后通过转到AX版本控制/挂起对象并单击“撤消签出”来摆脱它。我相信当您在AX中创建对象,将其添加到版本控制,然后重命名该对象时,会发生这种情况。希望这会有所帮助。

答案 7 :(得分:-4)

我还是VS2010的新手,但这就是我为我解决这个问题的方法:

转到“团队资源管理器”面板中的“源代码管理”。在源代码管理资源管理器中,右键单击要忽略的挂起更改的目录,项目或源代码文件。选择撤消待处理更改。将出现一个模式对话框,确认将撤消的待处理更改。选择撤消更改,瞧!没有更多的幻影等待更改。