From bdee11dfb657e01c9b047d3fe93e233dcfc8f5c8 Mon Sep 17 00:00:00 2001 From: sentriz Date: Tue, 28 Jan 2020 23:53:26 +0000 Subject: [PATCH] consider symlinks to directories when pushing to scan stack https://github.com/karrick/godirwalk/pull/45 https://github.com/sentriz/gonic/issues/27 --- go.mod | 2 +- go.sum | 4 ++-- scanner/scanner.go | 6 +++++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/go.mod b/go.mod index 5d9fb4b..4039aaf 100644 --- a/go.mod +++ b/go.mod @@ -14,7 +14,7 @@ require ( github.com/imdario/mergo v0.3.7 // indirect github.com/jinzhu/gorm v1.9.9 github.com/josephburnett/jd v0.0.0-20190531151850-1f9071c800e7 - github.com/karrick/godirwalk v1.10.12 + github.com/karrick/godirwalk v1.15.2 github.com/kr/pretty v0.1.0 // indirect github.com/nicksellen/audiotags v0.0.0-20160226222119-94015fa599bd github.com/oxtoacart/bpool v0.0.0-20190530202638-03653db5a59c diff --git a/go.sum b/go.sum index 51d5818..ab82364 100644 --- a/go.sum +++ b/go.sum @@ -85,8 +85,8 @@ github.com/josephburnett/jd v0.0.0-20190531151850-1f9071c800e7 h1:/sW5BavO4uIUSq github.com/josephburnett/jd v0.0.0-20190531151850-1f9071c800e7/go.mod h1:aeV+6oc13ogwzcRNHBe4vbyLmoQxMfEDoqyqCU9oE30= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/karrick/godirwalk v1.10.12 h1:BqUm+LuJcXjGv1d2mj3gBiQyrQ57a0rYoAmhvJQ7RDU= -github.com/karrick/godirwalk v1.10.12/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= +github.com/karrick/godirwalk v1.15.2 h1:9EyFg+JbwMCTmGSfT919rfaGgWvY3fZQ3rO9Wu83pk8= +github.com/karrick/godirwalk v1.15.2/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= diff --git a/scanner/scanner.go b/scanner/scanner.go index 5ac7650..e68d88c 100644 --- a/scanner/scanner.go +++ b/scanner/scanner.go @@ -200,7 +200,11 @@ func (s *Scanner) callbackItem(fullPath string, info *godirwalk.Dirent) error { filename: filename, stat: stat, } - if info.IsDir() { + isDir, err := info.IsDirOrSymlinkToDir() + if err != nil { + return errors.Wrap(err, "stating link to dir") + } + if isDir { return s.handleFolder(it) } lowerFilename := strings.ToLower(filename)