コード例 #1
0
ファイル: main.go プロジェクト: Felamande/filesync.v2
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
}
コード例 #2
0
ファイル: sync.go プロジェクト: Felamande/filesync.v2
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
}
コード例 #3
0
ファイル: context.go プロジェクト: Felamande/filesync.v2
func (ctx Context) RemoveWatch(u uri.Uri) error {
	return ctx.p.watcher.Remove(u.Abs())
}
コード例 #4
0
ファイル: pair.go プロジェクト: Felamande/filesync.v2
func (p *Pair) AddWatch(u uri.Uri) error {
	if p.watcher == nil {
		return errors.New("nil watcher")
	}
	return p.watcher.Add(u.Abs())
}