code: def walk(self, topurl=''):
          
          topnode = self.get_node(topurl)
          yield (topnode, topnode.dirs, topnode.files)
          for dirnode in topnode.dirs:
              for tup in self.walk(dirnode.path):
                  yield tup
docs: Similar to os.walk method. Insted of filesystem it walks through
          changeset starting at given ``topurl``.  Returns generator of tuples
          (topnode, dirnodes, filenodes).