func setFileMeta(name string, sc *schema.Superset) error { if err := os.Chmod(name, sc.FileMode()); err != nil { return err } if err := os.Chown(name, sc.UnixOwnerId, sc.UnixGroupId); err != nil { return err } t, err := time.Parse(time.RFC3339, sc.UnixMtime) if err != nil { return nil } return os.Chtimes(name, t, t) }
func setFileMeta(name string, sc *schema.Superset) error { err1 := os.Chmod(name, sc.FileMode()) var err2 error if mt := sc.ModTime(); !mt.IsZero() { err2 = os.Chtimes(name, mt, mt) } err3 := os.Chown(name, sc.UnixOwnerId, sc.UnixGroupId) // Return first non-nil error for logging. for _, err := range []error{err1, err2, err3} { if err != nil { return err } } return nil }