github.com/walkingsparrow/docker@v1.4.2-0.20151218153551-b708a2249bfa/distribution/push_v2_windows.go (about)

     1  // +build windows
     2  
     3  package distribution
     4  
     5  import (
     6  	"encoding/json"
     7  
     8  	"github.com/docker/distribution/manifest/schema1"
     9  	"github.com/docker/docker/image"
    10  )
    11  
    12  func setupBaseLayer(history []schema1.History, rootFS image.RootFS) error {
    13  	var v1Config map[string]*json.RawMessage
    14  	if err := json.Unmarshal([]byte(history[len(history)-1].V1Compatibility), &v1Config); err != nil {
    15  		return err
    16  	}
    17  	baseID, err := json.Marshal(rootFS.BaseLayerID())
    18  	if err != nil {
    19  		return err
    20  	}
    21  	v1Config["parent"] = (*json.RawMessage)(&baseID)
    22  	configJSON, err := json.Marshal(v1Config)
    23  	if err != nil {
    24  		return err
    25  	}
    26  	history[len(history)-1].V1Compatibility = string(configJSON)
    27  	return nil
    28  }