private async Task <int> AnalyzeFile(ValueItem file, int changesetId) { int resultNumber = 0; if (!file.ChangeType.Contains("delete")) { // 2.3 - Sortir les différences FileComparerResult diffResult = await _vcc.CompareChangesetFile(file.Item.Path, "P" + changesetId, changesetId.ToString()).ConfigureAwait(false); if (diffResult.Blocks.Count == 1) { //c'est le premier ajout sur le silo resultNumber += diffResult.Blocks[0].ModifiedLinesCount; } else { // 2.4 - Pour chaque différence foreach (Block block in diffResult.Blocks) { resultNumber += BlockRule.GetBlockModifiedLinesCount(block); } } } return(resultNumber); }
public async Task <FileComparerResult> CompareChangesetFile(string filePath, string firstChangesetId, string secondChangesetId) { FileComparerResult result = new FileComparerResult(); RequestFileCompare req = new RequestFileCompare { OriginalPath = filePath, OriginalVersion = firstChangesetId, ModifiedPath = filePath, ModifiedVersion = secondChangesetId, IncludeCharDiffs = true, PartialDiff = true }; List <KeyValuePair <string, string> > args = new List <KeyValuePair <string, string> >(); args.Add(new KeyValuePair <string, string>("diffParameters", JsonConvert.SerializeObject(req))); return(await base._httpApiClient.PostAsync <FileComparerResult>(args, TfsUrlBuilder(path + "fileDiff"), tfsSettings.Token)); }