每次我通过添加/重命名/移动/删除更改来取消搁置更改集或对此类更改进行挂起更改,我必须手动合并接收大量活动的父项目文件(大部分代码库嵌套在一个项目所以它的项目文件的版本变化非常频繁)。
这是每天多次的挫折,似乎 TFS 应该能够为我做到这一点,因为更改很简单(例如,在最新版本中删除已删除文件的行并在本地添加新文件的行版本)。我得出这个结论是因为它以这种方式智能地使代码文件自动合并版本。
那么为什么 automerge 对项目文件的行为与对代码文件的行为不同呢?
例如,开发人员 A 创建了一个变更集,将一个文件添加到项目中并将其搁置以供审查。然后另一个开发人员 B 签入更改也添加了一个文件(不相关)的项目,所以当我去搁置开发人员 A 的更改时,我必须解决项目文件上的冲突。
此外,如果一组文件被移动/重命名/添加并且我只想取消搁置一个影响更改,则只需获取项目文件的服务器版本并手动重新应用单个更改(例如添加现有文件) 而不是合并数千行中的十几个分散的更改。(上帝禁止您更改重命名并获取项目文件的服务器版本,因为您需要使用文本编辑器手动编辑它以重命名,否则由于重命名文件已经存在于磁盘上,您将收到一系列错误尝试从解决方案资源管理器重命名时)。
更新:我正在升级这个,因为现在它把我们搞砸了。
使用 VS2014 和我们的代码库主要存在于一个巨大的数据库项目 (*.sqlproj) 下。