code: func Restore(config *api.Config, cmd *cobra.Command) {
  	data, err := ioutil.ReadFile(DefaultConfigPath)
  	if err != nil {
  		data, err = ioutil.ReadFile(".stifile")
  		if err != nil {
  			glog.V(1).Infof("Unable to restore %s: %v", DefaultConfigPath, err)
  			return
  		}
  		glog.Infof("DEPRECATED: Use %s instead of .stifile", DefaultConfigPath)
  	}
  
  	c := Config{}
  	if err := json.Unmarshal(data, &c); err != nil {
  		glog.V(1).Infof("Unable to parse %s: %v", DefaultConfigPath, err)
  		return
  	}
  
  	source, err := git.Parse(c.Source)
  	if err != nil {
  		glog.V(1).Infof("Unable to parse %s: %v", c.Source, err)
  		return
  	}
  
  	config.BuilderImage = c.BuilderImage
  	config.Source = source
  	config.Tag = c.Tag
  
  	envOverride := false
  	if cmd.Flag("env").Changed {
  		envOverride = true
  	}
  
  	for name, value := range c.Flags {
  		// Do not change flags that user sets. Allow overriding of stored flags.
  		if name == "env" {
  			if envOverride {
  				continue
  			}
  			for _, v := range strings.Split(value, ",") {
  				cmd.Flags().Set(name, v)
  			}
  		} else if savedEnvMatcher.MatchString(name) {
  			if envOverride {
  				continue
  			}
  			cmd.Flags().Set("env", value)
  		} else {
  			if cmd.Flag(name).Changed {
  				continue
  			}
  			cmd.Flags().Set(name, value)
  		}
  	}
  }
docs: // Restore loads the arguments from disk and prefills the Request