我想在工作区中获取当前的变更集ID。这个问题在" Get current changeset id on workspace for TFS"中解决了。
tf history . /r /noprompt /stopafter:1 /version:W
这几乎适用于所有情况。但是,如果当前变更集仅包含从TFS中删除,则会失败。这不一定是changesetId - 1,但取决于我查询的文件/文件夹的历史记录。 如果当前变更集只删除了几个文件,则变更集prio为我查询的文件/文件夹历史记录中的当前变更集。
中提到的TFS API调用时,会发生同样的事情这是TFS中的错误吗?有没有人有解决方案?
提前致谢。
答案 0 :(得分:0)
这里的关键是你指定的版本是W,意思是工作空间。历史记录查询正在查找工作区中的更改。问题是,你永远不能拥有"删除所有文件的变更集 - 它们不会在您的工作区中。获得工作的方式是它计算你需要的东西并将它与你拥有的东西(所有在SQL中)进行比较,并将差异列表发送给客户端。因此,服务器上没有任何内容记录您的客户端已经处理过这些删除的事实。为了解决这个问题,我们必须运行get逻辑来检查这个极端情况。所以,你是对的,在这种情况下它是错的。我会问团队,但除非有更好的解决方法,我没有想到,我不会预料到会改变它。