withSIX.Sync.Core.Packages.PackageManager.ProcessCheck C# (CSharp) Method

ProcessCheck() private method

private ProcessCheck ( bool noCheckout, bool skipWhenFileMatches, IReadOnlyCollection packages, ICollection syncedPackages, Package objectsToFetch ) : Task
noCheckout bool
skipWhenFileMatches bool
packages IReadOnlyCollection
syncedPackages ICollection
objectsToFetch Package
return Task
        private async Task ProcessCheck(bool noCheckout, bool skipWhenFileMatches, IReadOnlyCollection<Package> packages,
            ICollection<Package> syncedPackages, Package.ObjectMap[] objectsToFetch) {
            StatusRepo.Reset(RepoStatus.CheckOut, packages.Count);
            var i = 0;
            syncedPackages.AddRange(packages);
            var components = packages.Select(x => new ProgressLeaf(x.MetaData.Name)).ToArray();
            if (!noCheckout) {
                foreach (var package in packages) {
                    var p = components[i++];
                    await p.Do(() => ProcessPackageInternal(package, p)).ConfigureAwait(false);
                }
            }

            if (!noCheckout && skipWhenFileMatches) {
                Repo.DeleteObject(objectsToFetch.Select(x => new ObjectInfo(x.FO.Checksum, x.FO.Checksum)));
                // nasty using checksum for packed checksum or ? not needed here anyway??
            }
        }