forked from mirror/cobra
cmd: Ignore hidden files in isEmpty
This commit is contained in:
parent
d994347eda
commit
715f41bd7a
|
@ -45,24 +45,34 @@ func er(msg interface{}) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// isEmpty checks if a given path is empty.
|
// isEmpty checks if a given path is empty.
|
||||||
|
// Hidden files in path are ignored.
|
||||||
func isEmpty(path string) bool {
|
func isEmpty(path string) bool {
|
||||||
fi, err := os.Stat(path)
|
fi, err := os.Stat(path)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
er(err)
|
er(err)
|
||||||
}
|
}
|
||||||
if fi.IsDir() {
|
|
||||||
|
if !fi.IsDir() {
|
||||||
|
return fi.Size() == 0
|
||||||
|
}
|
||||||
|
|
||||||
f, err := os.Open(path)
|
f, err := os.Open(path)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
er(err)
|
er(err)
|
||||||
}
|
}
|
||||||
defer f.Close()
|
defer f.Close()
|
||||||
dirs, err := f.Readdirnames(1)
|
|
||||||
|
names, err := f.Readdirnames(-1)
|
||||||
if err != nil && err != io.EOF {
|
if err != nil && err != io.EOF {
|
||||||
er(err)
|
er(err)
|
||||||
}
|
}
|
||||||
return len(dirs) == 0
|
|
||||||
|
for _, name := range names {
|
||||||
|
if len(name) > 0 && name[0] != '.' {
|
||||||
|
return false
|
||||||
}
|
}
|
||||||
return fi.Size() == 0
|
}
|
||||||
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
// exists checks if a file or directory exists.
|
// exists checks if a file or directory exists.
|
||||||
|
|
Loading…
Reference in New Issue