Browse Source

Fix a bug which caused repository metadata to be cleared at startup

Solomon Hykes 12 years ago
parent
commit
d0c776528b
1 changed files with 7 additions and 1 deletions
  1. 7 1
      tags.go

+ 7 - 1
tags.go

@@ -3,6 +3,7 @@ package docker
 import (
 	"encoding/json"
 	"io/ioutil"
+	"os"
 	"path/filepath"
 )
 
@@ -24,7 +25,12 @@ func NewTagStore(path string, graph *Graph) (*TagStore, error) {
 		graph:        graph,
 		Repositories: make(map[string]Repository),
 	}
-	if err := store.Save(); err != nil {
+	// Load the json file if it exists, otherwise create it.
+	if err := store.Reload(); os.IsNotExist(err) {
+		if err := store.Save(); err != nil {
+			return nil, err
+		}
+	} else if err != nil {
 		return nil, err
 	}
 	return store, nil