gpt4 book ai didi

c# - 查找所有与搁置集不同的文件?

转载 作者:太空宇宙 更新时间:2023-11-03 11:08:12 25 4
gpt4 key购买 nike

我有一个相当大的解决方案的货架集,其中一个元素正在工作。在我的工作区版本中,它不是 - 但是,其他元素在我的工作区版本中工作,但在搁置集中不工作。因此,合并两个版本会很麻烦且耗时。

有没有一种简单的方法可以将搁置集与我的工作区解决方案进行比较,返回所有彼此不同的文件?我知道可以逐一比较,但是我不确定错误出现在哪里,发现这需要比较大量文件,其中大部分文件完全相同。

最佳答案

创建搁置集时,TFS 会存储文件的哈希值。有两个值,HashValue 是服务器上原始项目的值,UploadHashValue 是货架集中项目的实际值。

然后您应该能够创建一个新的搁置集并将其与旧的进行比较:

var shelvesetOld = vcs.QueryShelvesets("shelveset_old", null).FirstOrDefault();
var shelvesetOldChanges = vcs.QueryShelvedChanges(shelvesetOld)[0].PendingChanges;

var shelvesetNew = vcs.QueryShelvesets("shelveset_new", null).FirstOrDefault();
var shelvesetNewChanges = vcs.QueryShelvedChanges(shelvesetNew)[0].PendingChanges;

var differences = new List<PendingChange>();
foreach (var oldChange in shelvesetOldChanges) {
var shelvesetNewChange = shelvesetNewChanges.FirstOrDefault(shelvesetChangeSearch => shelvesetChangeSearch.ServerItem.Equals(oldChange.ServerItem));
if (shelvesetNewChange == null) {
differences.Add(oldChange);
continue;
}

if (!shelvesetNewChange.UploadHashValue.SequenceEqual(oldChange.UploadHashValue)) {
differences.Add(oldChange);
}
}

关于c# - 查找所有与搁置集不同的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15002338/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com