TF203015项目$ /path/文件具有不兼容的挂起更改。 试图放弃
我正在使用Visual Studio 2010 Pro来对付Team Server 2010,而且我的项目作为repo的解决scheme被打开(显然),但我应该已经打开它作为“网站”。 我在编译期间发现了这个问题,于是我搁置了我的新修改,并从本地磁盘上删除了该项目,然后再次从源代码(这次是网站)打开项目,现在我不能取消保存我的文件。
有什么办法可以解决这个问题吗? 我吹了什么东西? 我需要在服务器上进行维护吗?
我发现这个问题上SO#2332685,但我不知道他在说什么caching文件(我在XP:\)编辑: 发现这个问题后发现这个链接,抱歉的延迟研究,仍然没有解决我的问题
当然,我不能在任何地方findTF203015的错误代码,所以也没有解决方法(因此我在标题中包含了数字,是的?)
编辑:我应该提到,这些文件从来没有在第一个地方检查。 那很重要吗? 你可以搁置一个未经检查的项目吗? 那是我做错了什么?
编辑:什么 – find了! 在不存在的项目上使用“撤消” ,因为它们在挂起的更改中显示为签入。
需要closures,find答案。
我已经删除了试图重新加载工作区的文件,尽pipe我已经搁置了更改。 然后VS2010认为这些文件还在等待保存。 我不需要这个,所以我必须找出“撤销”挂起更改中的更改。
然后我可以放下。
它以为我有两个操作(unshelve,commit-for-add)同时进行,我以为我只有一个操作(unshelve)。
这是OP的问题
当您尝试将多个变更集从一个分支批量合并到另一个分支时,您可以得到一个TF203015。
考虑一下你有一个主干线和一个DEV分支的情况。 你从MAIN中分支了DEV,并且在DEV中的一个function上努力工作。 随着你的进步检查工作回到DEV。 现在快一周或两周。 你现在function齐全,想要合并回MAIN。
这是我们的一个开发人员遇到这个错误的地方。
他一直在为一个解决scheme工作数周,并且定期将变更集检查回DEV,所以想要将不连续的一系列变更集合回MAIN中。 所以他select合并选项,select第一个变更集; 合并没有问题,然后马上去合并下一个变更集; 并砰的一声TF203015,以及在输出窗口中非常无益的testing; 不兼容的挂起更改。
经过一番小小的摆弄,我们现在意识到这里正在发生的事情。 第一次合并在MAIN中为开发人员解决scheme创build了一个未决更改。 下一次合并尝试也是对同一个解决scheme的改变,这将需要TFS对同一个文件的第二组挂起的改变“排队”。 它不能做到这一点。
所以在这种情况下TF203015的意思是; “目标分支已经对这个变更集中的某些文件进行了更改,请在执行此合并操作之前解决并提交目标分支更改”
解决scheme; 在每次合并操作之后,我们的开发人员testingMAIN的工作空间并提交合并引起的挂起更改,然后返回到DEV并重复。
其实是明智而简单的,但却被一个非常愚蠢的错误信息所掩盖。
您可以使用2011年3月版的Team Foundation Server电源工具( http://msdn.microsoft.com/zh-cn/vstudio/bb980963.aspx ),其中包含命令tfpt unshelve
。
安装Power Tools后,打开Visual Studio命令提示符,切换到包含感兴趣项目的目录,然后执行tfpt unshelve
命令。 它将取消搁置并显示合并对话框,以便您可以解决冲突。
我相信这个博客文章,帮助我find这个解决scheme: http : //fluentbytes.com/the-how-and-why-behind-tf203015-file-has-an-incompatible-change-while-unshelving-a-shelve-组
我似乎是同样的问题,但我搁置了我的更改后创build了一个分支,我想取消这些更改到新的分支。
TFS不能取消搁置到与创build搁板的path不同的path。
解决scheme:我没有保存回原始分支,然后我使用无法比较合并从我原来的分支到新分支的变化,并签入。
也可能是在你创build一个文件夹(比如说“Test”),并且你想从开发中合并到testing中,你没有将新build立的文件夹结构签入到TFS中 – 你也可以得到这个错误信息。
因此,这个消息错误可以发生,没有什么与SHELVESETS以及其他来自谷歌和find这个页面。
这个链接解决了我的问题:
原因是在同一个工作空间的未决更改造成不兼容的变化。 因此,撤消挂起的更改并尝试取消搁置。 这应该可以解决问题。
如果你有两个分支MAIN(目标)和DEV(源),现在你想把DEV合并到MAIN中,那么你想从你的源合并的所有文件不能比目标分支中的类似文件老。
例如:您的DEV分支中有一个更改过的文件test.cs,在14.03.2016更改。 在你的主分支你有test.cs更改在15.03.2016。 所以目标是更新的源文件,你有TF203015。
解决scheme:在TFS资源pipe理器中导航到冲突文件并将其明确地合并。 TFS将打开冲突pipe理器,您可以手动合并冲突。 以下您可以合并选定的变更集。
备注:如果您有更多冲突,则必须导航到每个冲突文件并将其明确合并,以便TFS打开冲突pipe理器,您可以手动合并它。