Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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));
        }