Beispiel #1
0
        public static void CreateSnapshot(CreateOptions o)
        {
            var(parent, blobs) = FileFetcher.FindBlobs(
                o.Files,
                new Fuzzy(
                    o.ExcludePatterns,
                    FuzzyOption.EmptyMatchesNothing));

            if (blobs.Length == 0)
            {
                Console.WriteLine("Empty file list. Nothing to do!");
                return;
            }

            var snapshotStore = CreateSnapshotStore(o.Repository);

            snapshotStore.StoreSnapshot(
                blobs,
                new Fuzzy(
                    o.ScanPatterns,
                    FuzzyOption.EmptyMatchesNothing),
                DateTime.UtcNow,
                blobName => File.OpenRead(
                    Path.Combine(parent, blobName)));
        }
Beispiel #2
0
        public static void PreviewSnapshot(PreviewOptions o)
        {
            var(_, blobs) = FileFetcher.FindBlobs(
                o.Files,
                new Fuzzy(
                    o.ExcludePatterns,
                    FuzzyOption.EmptyMatchesNothing));

            if (blobs.Length == 0)
            {
                Console.WriteLine("Empty file list. Nothing to do!");
                return;
            }

            var snapshotStore = CreateSnapshotStore(o.Repository);

            var snapshotBlobs = snapshotStore.IsEmpty
                ? Array.Empty <Blob>()
                : snapshotStore.ShowSnapshot(
                o.SnapshotId,
                Fuzzy.MatchAll)
                                .Select(blobReference => blobReference.ToBlob())
                                .ToArray();

            var diff = DiffSet.Create(
                snapshotBlobs,
                blobs,
                blob => blob.Name,
                (b1, b2) => b1.Equals(b2));

            PrintDiff(diff);
        }