func (v *localVisitor) Visit(u uri.Uri) error { // fmt.Println("visit", u.Uri()) if !u.IsDir() { v.s.msg <- Message{u.Abs(), v.p, fsnotify.Write} return nil } if filepath.Base(u.Abs()) == ".git" { return filepath.SkipDir } v.p.watcher.Add(u.Abs()) v.s.msg <- Message{u.Abs(), v.p, fsnotify.Create} return nil }
func HandleCreate(ctx syncer.Context, l uri.Uri, r uri.Uri) error { if l.ModTime().Sub(r.ModTime()) < 0 { return ctx.Finish() } var err error for { err = r.Create(l.IsDir(), l.Mode()) if err == nil { break } time.Sleep(time.Minute * 1) } ctx.EmitLog(syncer.TypeInfo, "create ", r.Uri()) return nil }
func HandleAddNewWatch(ctx syncer.Context, l uri.Uri, r uri.Uri) error { if filepath.Base(l.Abs()) == ".git" { return ctx.Finish() } if !l.IsDir() { return nil } err := ctx.AddWatch(l) if err != nil { ctx.EmitLog(syncer.TypeError, err) } return nil }