code: func (h *hooks) CopyFrom(source hooks) (overridden bool) {
  	overrideIfFromNotEmpty := func(from string, to *string) {
  		if from != "" {
  			overridden = overridden || *to != ""
  			*to = from
  		}
  	}
  	overrideIfFromNotEmpty(source.RawPreBuild, &h.RawPreBuild)
  	overrideIfFromNotEmpty(source.RawPostBuild, &h.RawPostBuild)
  	overrideIfFromNotEmpty(source.RawPreStart, &h.RawPreStart)
  	overrideIfFromNotEmpty(source.RawPostStart, &h.RawPostStart)
  	overrideIfFromNotEmpty(source.RawPreStop, &h.RawPreStop)
  	overrideIfFromNotEmpty(source.RawPostStop, &h.RawPostStop)
  	return
  }
docs: // Merge another set of hooks into the existing object. Existing
  // hooks will be overridden if the corresponding hooks from the
  // source struct are defined. Returns true if some content was
  // overiden in the process.