1
0

refactor: move fs-related functions to submodule

This commit is contained in:
2023-05-13 09:17:57 +00:00
parent 9b987bcc82
commit da5797766b
8 changed files with 63 additions and 47 deletions

34
main.go
View File

@ -23,6 +23,7 @@ import (
"github.com/alecthomas/kong"
"code.dumpstack.io/tools/out-of-tree/config"
"code.dumpstack.io/tools/out-of-tree/fs"
)
type Globals struct {
@ -94,37 +95,6 @@ func (lw *LevelWriter) WriteLevel(l zerolog.Level, p []byte) (n int, err error)
return len(p), nil
}
func isFsCaseInsensitive(dir string) (yes bool, err error) {
pathLowercase := filepath.Join(dir, "file")
fLowercase, err := os.Create(pathLowercase)
if err != nil {
return
}
defer fLowercase.Close()
defer os.Remove(pathLowercase)
pathUppercase := filepath.Join(dir, "FILE")
fUppercase, err := os.Create(pathUppercase)
if err != nil {
return
}
defer fUppercase.Close()
defer os.Remove(pathUppercase)
statLowercase, err := fLowercase.Stat()
if err != nil {
return
}
statUppercase, err := fUppercase.Stat()
if err != nil {
return
}
yes = os.SameFile(statLowercase, statUppercase)
return
}
var tempDirBase string
var consoleWriter, fileWriter LevelWriter
@ -197,7 +167,7 @@ func main() {
}
path := filepath.Join(usr.HomeDir, ".out-of-tree")
yes, err := isFsCaseInsensitive(path)
yes, err := fs.CaseInsensitive(path)
if err != nil {
log.Fatal().Err(err).Msg(path)
}