diff --git a/src/push.go b/src/push.go index 8848a167..77d8f67f 100644 --- a/src/push.go +++ b/src/push.go @@ -410,13 +410,11 @@ func list(context *config.Context, p string, hidden bool, ignore *regexp.Regexp) symlink := (file.Mode() & os.ModeSymlink) != 0 if symlink { - fChan, cErr := list(context, gopath.Join(p, file.Name()), hidden, ignore) - if cErr != nil { - continue - } - for child := range fChan { - fileChan <- child - } + var s string + s, err = filepath.EvalSymlinks(gopath.Join(absPath, file.Name())) + var sym_file os.FileInfo + sym_file, err = os.Stat(s) + fileChan <- NewLocalFile(gopath.Join(absPath, file.Name()), sym_file) } } close(fileChan)