watcher: Begin watching added directories before walking them to add subdirectories
This commit is contained in:
parent
90533c9e2d
commit
d97b424e98
@ -43,6 +43,11 @@ func StartWatching(watchDir string, fileUpdates chan *asink.Event) {
|
||||
//if a directory was created, begin recursively watching all its subdirectories
|
||||
if fi, err := os.Stat(ev.Name); err == nil && fi.IsDir() {
|
||||
if ev.IsCreate() {
|
||||
//Note: even though filepath.Walk will visit root, we must watch root first so we catch files/directories created after the walk begins but before this directory begins being watched
|
||||
err = watcher.Watch(ev.Name)
|
||||
if err != nil {
|
||||
panic("Failed to watch " + ev.Name)
|
||||
}
|
||||
filepath.Walk(ev.Name, watchDirFn)
|
||||
//TODO do a scan of this directory so we ensure any file events we missed before starting to watch this directory are caught
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user