func walk(path string, st *store.Store, ch chan store.Event) { for path != "/" && strings.HasSuffix(path, "/") { // TODO generalize and factor this into pkg store. path = path[0 : len(path)-1] } v, rev := st.Get(path) if rev != store.Dir { ch <- store.Event{0, path, v[0], rev, "", nil, nil} return } if path == "/" { path = "" } for _, ent := range v { walk(path+"/"+ent, st, ch) } }