From f271faea066c47817c8a9a62ef5509a151452d6a Mon Sep 17 00:00:00 2001 From: Christoph Burgdorf Date: Mon, 14 Apr 2014 23:25:54 +0200 Subject: [PATCH] Don't process dotfiles This commit makes it so that not only files but also folders which start with a dot are ignored. Fixes #239 --- source/content_directory_test.go | 6 ++++-- source/filesystem.go | 6 +++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/source/content_directory_test.go b/source/content_directory_test.go index d8ed8128a..aab3410bb 100644 --- a/source/content_directory_test.go +++ b/source/content_directory_test.go @@ -4,11 +4,13 @@ import ( "testing" ) -func TestIgnoreDotFiles(t *testing.T) { +func TestIgnoreDotFilesAndDirectories(t *testing.T) { tests := []struct { path string ignore bool }{ + {".foobar/", true }, + {"foobar/.barfoo/", true }, {"barfoo.md", false}, {"foobar/barfoo.md", false}, {"foobar/.barfoo.md", true}, @@ -22,7 +24,7 @@ func TestIgnoreDotFiles(t *testing.T) { } for _, test := range tests { - if ignored := ignoreDotFile(test.path); test.ignore != ignored { + if ignored := isNonProcessablePath(test.path); test.ignore != ignored { t.Errorf("File not ignored. Expected: %t, got: %t", test.ignore, ignored) } } diff --git a/source/filesystem.go b/source/filesystem.go index abec6ca6e..3a176d7ba 100644 --- a/source/filesystem.go +++ b/source/filesystem.go @@ -87,12 +87,12 @@ func (f *Filesystem) captureFiles() { } if fi.IsDir() { - if f.avoid(filePath) { + if f.avoid(filePath) || isNonProcessablePath(filePath) { return filepath.SkipDir } return nil } else { - if ignoreDotFile(filePath) { + if isNonProcessablePath(filePath) { return nil } data, err := ioutil.ReadFile(filePath) @@ -116,7 +116,7 @@ func (f *Filesystem) avoid(filePath string) bool { return false } -func ignoreDotFile(filePath string) bool { +func isNonProcessablePath(filePath string) bool { base := filepath.Base(filePath) if base[0] == '.' { return true