我正在编写一个工具来自动化我们网站的代码文档和部署,我在测试时遇到了一个异常现象,这让我对变更集的理解产生了怀疑。
我所看到的是一个变更集引用文件,这些文件实际上并不是解决方案的一部分(尽管它们曾经是这样)。
尽我所能确定这是一系列事件(除了最后一步发生在我加入公司之前,所以这一切都是从源控制历史中推断出来的):
当我查看Changeset X及其更改列表时,它包含对每个txt文件的“编辑”,包括四个已删除的文件。我检查了CSPROJ文件,并且在更改集的位置上肯定没有对已删除文件的引用。
当我的代码遍历变更集中的所有更改时,它会尝试将更改的文件结合到它所属的项目中,以便识别由于更改而需要部署的文件 - 即它的.html或.jpg然后它只是被复制,但如果它的源代码,那么我需要部署从文件中编译的相关二进制文件)。因此,当它找到这些文件并尝试查找它们所属的项目时,它就失败了。
变更集是否应该引用这些已删除的文件,还是TFS中的错误?或者,在两个变更集之前的两年内,代码从TFS 2008迁移到TFS 2012时会发生什么?如果它不是一个bug,那么在什么情况下你会期望TFS跟踪不在项目中的文件的变化?
我试图通过设置一个全新的项目并将其添加到源代码控制然后添加,删除和编辑相关的文本文件来复制它,但我不能让它以相同的方式运行。
答案 0 :(得分:0)
TFS是对的。 Visual Studio解决方案是一个很好的界面,可以直观地管理Version Control中的文件子集。通常有多个解决方案并在多个位置更改文件,但仍然是我想要记录为单个更改集的单个逻辑更改。