From fc6c29b4e431bfb6093e3ad4be8aff79743eaa4a Mon Sep 17 00:00:00 2001 From: Jarek Kowalski Date: Sun, 29 Jan 2017 11:57:49 -0800 Subject: [PATCH] added SaveSnapshot() to snapshot.Manifest --- cmd/kopia/command_backup.go | 2 +- cmd/kopia/manifest_util.go | 18 ------------------ snapshot/manager.go | 10 ++++++++++ 3 files changed, 11 insertions(+), 19 deletions(-) delete mode 100644 cmd/kopia/manifest_util.go diff --git a/cmd/kopia/command_backup.go b/cmd/kopia/command_backup.go index 830dd019e..320022184 100644 --- a/cmd/kopia/command_backup.go +++ b/cmd/kopia/command_backup.go @@ -119,7 +119,7 @@ func runBackupCommand(c *kingpin.ParseContext) error { manifest.Handle = handleID manifest.Description = *backupDescription - err = saveBackupManifest(conn.Vault, fileID, manifest) + err = conn.SnapshotManager.SaveSnapshot(fileID, manifest) if err != nil { return fmt.Errorf("cannot save manifest: %v", err) } diff --git a/cmd/kopia/manifest_util.go b/cmd/kopia/manifest_util.go deleted file mode 100644 index 16c1e33a4..000000000 --- a/cmd/kopia/manifest_util.go +++ /dev/null @@ -1,18 +0,0 @@ -package main - -import ( - "encoding/json" - "fmt" - - "github.com/kopia/kopia/snapshot" - "github.com/kopia/kopia/vault" -) - -func saveBackupManifest(vlt *vault.Vault, manifestID string, m *snapshot.Manifest) error { - b, err := json.Marshal(m) - if err != nil { - return fmt.Errorf("cannot marshal backup manifest to JSON: %v", err) - } - - return vlt.Put(manifestID, b) -} diff --git a/snapshot/manager.go b/snapshot/manager.go index 29e978816..b331c18b6 100644 --- a/snapshot/manager.go +++ b/snapshot/manager.go @@ -74,6 +74,16 @@ func (m *Manager) LoadSnapshot(manifestID string) (*Manifest, error) { return &s, nil } +// SaveSnapshot persists given snapshot manifest with a given ID. +func (m *Manager) SaveSnapshot(manifestID string, manifest *Manifest) error { + b, err := json.Marshal(manifest) + if err != nil { + return fmt.Errorf("cannot marshal backup manifest to JSON: %v", err) + } + + return m.vault.Put(manifestID, b) +} + // LoadSnapshots efficiently loads and parses a given list of snapshot IDs. func (m *Manager) LoadSnapshots(names []string) ([]*Manifest, error) { result := make([]*Manifest, len(names))