Exemple #1
0
        private static HashSet <string> GetFilesToCommit(DevOps.Primitives.SourceGraph.Repository repository, DevOps.Build.AppVeyor.AzureStorageTableLedger.AppveyorBuildTable lastVersionInfo)
        {
            var hashSet = new HashSet <string>();

            if (lastVersionInfo != null)
            {
                foreach (var hash in lastVersionInfo.FileHashes.Split(Comma).Distinct())
                {
                    hashSet.Add(hash);
                }
            }

            var fileDict = new Dictionary <string, string>();

            foreach (var file in repository.RepositoryContent.RepositoryFileList.GetRecords())
            {
                fileDict.TryAdd(file.GetPathRelativeToRepositoryRoot(), file.ComputeHash());
            }

            var filesToCommit = new HashSet <string>();

            foreach (var file in fileDict)
            {
                if (!hashSet.Contains(file.Value))
                {
                    filesToCommit.Add(file.Key);
                }
            }

            return(filesToCommit);
        }
Exemple #2
0
        private static string GetHashString(DevOps.Primitives.SourceGraph.Repository repository)
        {
            var hashes = new StringBuilder();
            var files  = repository.RepositoryContent.RepositoryFileList.GetRecords().ToList();

            for (int i = 0; i < files.Count; i++)
            {
                hashes.Append(files[i].ComputeHash());
                if (i != files.Count - 1)
                {
                    hashes.Append(Comma);
                }
            }
            return(hashes.ToString());
        }
Exemple #3
0
        private static string GetDependencyString(IEnumerable <DevOps.Primitives.SourceGraph.Repository> repositories, string accountName, DevOps.Primitives.SourceGraph.Repository repository)
        {
            var dependencies = new StringBuilder();
            var deps         = repository.RepositoryContent.SameAccountPackageDependencyList?.GetRecords().Select(r => r.Value).ToList();

            if (deps != null)
            {
                var subStrIdx = accountName.Length + 1;
                for (int i = 0; i < deps.Count; i++)
                {
                    var repo = deps[i];
                    dependencies.Append($"{repo}|{repositories.Where(r => r.GetName() == repo.Substring(subStrIdx)).First().RepositoryContent.Version.Value}");
                    if (i != deps.Count - 1)
                    {
                        dependencies.Append(Comma);
                    }
                }
            }
            var dependenciesString = dependencies.ToString();

            return(dependenciesString);
        }