Browse Source

Merge remote-tracking branch 'unclejack/194-high-image-compression'

Solomon Hykes 12 years ago
parent
commit
0e1781af26
2 changed files with 5 additions and 2 deletions
  1. 3 0
      archive.go
  2. 2 2
      registry.go

+ 3 - 0
archive.go

@@ -15,6 +15,7 @@ const (
 	Uncompressed Compression = iota
 	Bzip2
 	Gzip
+	Xz
 )
 
 func (compression *Compression) Flag() string {
@@ -23,6 +24,8 @@ func (compression *Compression) Flag() string {
 		return "j"
 	case Gzip:
 		return "z"
+	case Xz:
+		return "J"
 	}
 	return ""
 }

+ 2 - 2
registry.go

@@ -272,14 +272,14 @@ func (graph *Graph) PushImage(stdout io.Writer, imgOrig *Image, authConfig *auth
 
 		// FIXME: Don't do this :D. Check the S3 requierement and implement chunks of 5MB
 		// FIXME2: I won't stress it enough, DON'T DO THIS! very high priority
-		layerData2, err := Tar(path.Join(graph.Root, img.Id, "layer"), Gzip)
+		layerData2, err := Tar(path.Join(graph.Root, img.Id, "layer"), Xz)
 		tmp, err := ioutil.ReadAll(layerData2)
 		if err != nil {
 			return err
 		}
 		layerLength := len(tmp)
 
-		layerData, err := Tar(path.Join(graph.Root, img.Id, "layer"), Gzip)
+		layerData, err := Tar(path.Join(graph.Root, img.Id, "layer"), Xz)
 		if err != nil {
 			return fmt.Errorf("Failed to generate layer archive: %s", err)
 		}