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))); }
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); }