Approach 1: Empty upspin.Event as an indicator of receipt of full tree:
func mirror(upath upspin.PathName, events <-chan upspin.Event) {
// localPath maps the given upspin path to a path in a local file system
localPath := func(remote upspin.Path) string {
... // irrelevant detail
}
os.RemoveAll(localPath(upath))