refactor: move fs-related functions to submodule
This commit is contained in:
34
main.go
34
main.go
@ -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)
|
||||
}
|
||||
|
Reference in New Issue
Block a user