MCPcopy
hub / github.com/go-git/go-git / ToOSFileMode

Method ToOSFileMode

plumbing/filemode/filemode.go:170–188  ·  view source on GitHub ↗

ToOSFileMode returns the os.FileMode to be used when creating file system elements with the given git mode and a nil error on success. When the provided mode cannot be mapped to a valid file system mode (e.g. Submodule) it returns os.FileMode(0) and an error. The returned file mode does not take

()

Source from the content-addressed store, hash-verified

168//
169// The returned file mode does not take into account the umask.
170func (m FileMode) ToOSFileMode() (os.FileMode, error) {
171 switch m {
172 case Dir:
173 return os.ModePerm | os.ModeDir, nil
174 case Submodule:
175 return os.ModePerm | os.ModeDir, nil
176 case Regular:
177 return os.FileMode(0644), nil
178 // Deprecated is no longer allowed: treated as a Regular instead
179 case Deprecated:
180 return os.FileMode(0644), nil
181 case Executable:
182 return os.FileMode(0755), nil
183 case Symlink:
184 return os.ModePerm | os.ModeSymlink, nil
185 }
186
187 return os.FileMode(0), fmt.Errorf("malformed mode (%s)", m)
188}

Callers 4

checkoutFileMethod · 0.80
checkoutFileSymlinkMethod · 0.80
TestToOSFileModeMethod · 0.80

Calls

no outgoing calls

Tested by 1

TestToOSFileModeMethod · 0.64