parent
71c653f9e0
commit
f31b4f29c1
5 changed files with 117 additions and 7 deletions
|
@ -21,6 +21,28 @@ var Paths = struct {
|
|||
"config",
|
||||
}
|
||||
|
||||
// Modes holds the default modes for directories and files for file-based
|
||||
// backends.
|
||||
var Modes = struct{ Dir, File os.FileMode }{0700, 0600}
|
||||
type Modes struct {
|
||||
Dir os.FileMode
|
||||
File os.FileMode
|
||||
}
|
||||
|
||||
// DefaultModes defines the default permissions to apply to new repository
|
||||
// files and directories stored on file-based backends.
|
||||
var DefaultModes = Modes{Dir: 0700, File: 0600}
|
||||
|
||||
// DeriveModesFromFileInfo will, given the mode of a regular file, compute
|
||||
// the mode we should use for new files and directories. If the passed
|
||||
// error is non-nil DefaultModes are returned.
|
||||
func DeriveModesFromFileInfo(fi os.FileInfo, err error) Modes {
|
||||
m := DefaultModes
|
||||
if err != nil {
|
||||
return m
|
||||
}
|
||||
|
||||
if fi.Mode()&0040 != 0 { // Group has read access
|
||||
m.Dir |= 0070
|
||||
m.File |= 0060
|
||||
}
|
||||
|
||||
return m
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue