summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/spf13/cobra/cobra/cmd/helpers.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/spf13/cobra/cobra/cmd/helpers.go')
-rw-r--r--vendor/github.com/spf13/cobra/cobra/cmd/helpers.go32
1 files changed, 21 insertions, 11 deletions
diff --git a/vendor/github.com/spf13/cobra/cobra/cmd/helpers.go b/vendor/github.com/spf13/cobra/cobra/cmd/helpers.go
index 6114227db..c5e261ce3 100644
--- a/vendor/github.com/spf13/cobra/cobra/cmd/helpers.go
+++ b/vendor/github.com/spf13/cobra/cobra/cmd/helpers.go
@@ -45,24 +45,34 @@ func er(msg interface{}) {
}
// isEmpty checks if a given path is empty.
+// Hidden files in path are ignored.
func isEmpty(path string) bool {
fi, err := os.Stat(path)
if err != nil {
er(err)
}
- if fi.IsDir() {
- f, err := os.Open(path)
- if err != nil {
- er(err)
- }
- defer f.Close()
- dirs, err := f.Readdirnames(1)
- if err != nil && err != io.EOF {
- er(err)
+
+ if !fi.IsDir() {
+ return fi.Size() == 0
+ }
+
+ f, err := os.Open(path)
+ if err != nil {
+ er(err)
+ }
+ defer f.Close()
+
+ names, err := f.Readdirnames(-1)
+ if err != nil && err != io.EOF {
+ er(err)
+ }
+
+ for _, name := range names {
+ if len(name) > 0 && name[0] != '.' {
+ return false
}
- return len(dirs) == 0
}
- return fi.Size() == 0
+ return true
}
// exists checks if a file or directory exists.