Sanitized root snapshot from private source commit a72903c63e1753f9e6ffbf40453c0830bdfc05c5 and tree 295641e67eef5979da76746d8ae271249568263e. Private development history and workflows are excluded by the exact allowlist. AI-assisted: OpenAI Codex helped implement, test, and audit this preview. Signed-off-by: Cole Speelman <crspeelman@gmail.com>
18 lines
417 B
Go
18 lines
417 B
Go
//go:build !linux
|
|
|
|
// SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
package deploy
|
|
|
|
import "os"
|
|
|
|
type fileIdentity struct{ mode os.FileMode }
|
|
|
|
func identityFor(info os.FileInfo, fallback os.FileMode) fileIdentity {
|
|
if info != nil {
|
|
return fileIdentity{mode: info.Mode().Perm()}
|
|
}
|
|
return fileIdentity{mode: fallback}
|
|
}
|
|
func applyIdentity(file *os.File, identity fileIdentity) error { return file.Chmod(identity.mode) }
|