我看到VS2008与TFS 2008集成时出现了一些奇怪的行为。当我从解决方案资源管理器中删除解决方案中的文件并将其签入时,该文件仍会出现在源代码管理资源管理器中。
在源代码管理资源管理器中,文件在“待更改”列下显示为“删除”值。它也出现在Pending Changes窗口中,状态相同,我不得不从那里检查它。
知道这是否“正常”,如果是,那背后的理由是什么?如何避免两次签入文件删除?
答案 0 :(得分:1)
你是怎么办理入住的?我的猜测是你从Solution Explorer上下文菜单中做到了。当弹出Checkin模式对话框时,即使它显示了您的整个待处理更改列表,默认情况下也只会检查解决方案中当前的项目。
这是I don't recommend从解决方案资源管理器调用重要操作的另一个原因。为您自动挂起的更改很方便,但修改状态的操作(例如Get,Checkin,Shelve)值得更加小心。
答案 1 :(得分:0)
编辑:反映评论。
这很奇怪我没有得到这种行为,也没有人在我们的网站上。如果我们在解决方案资源管理器中删除文件(选择文件并点击删除),它将成为待定更改。然后我可以检查变化。我必须确保在签入/挂起更改窗口中选择删除。然后它不再显示为Source Explorer中的挂起更改。事实上,我可以在任一窗口办理入住和退房手续,并立即在另一个窗口中反映更改。
====
已删除的文件仍保留在TFS中。要完全删除文件,您必须'DESTROY'它不会删除它。这实际上是源代码控制。如果您不想查看该文件,那么Visual Studio中有一个设置可以隐藏它们。我个人更喜欢那里,因为你可以看到历史,他们是一个视觉提醒。
删除文件后,您需要提交删除 - 这实质上是检查删除。在此之后,文件将保留在源资源管理器中,但显示为灰色。然后你可以做我上面提到的事情。
答案 2 :(得分:0)
工具的设置是什么?选项|源控制| Visual Studio团队...... |在源代码管理资源管理器中显示已删除的文件?
默认为取消设置,但如果已设置,则会显示已删除的文件。
答案 3 :(得分:0)
翁,
这种行为完全正常 - 如果有点令人困惑 - 当您从解决方案中删除文件时,该文件在源代码管理中被标记为待删除,但是当您通过解决方案资源管理器签入时,在检查时 - 在该文件中不再属于解决方案的范围。
如果您在任何时候从解决方案中删除文件,请记住从源代码管理资源管理器中签入。
安东尼