# File lib/fastcst/repo.rb, line 444 444: def revision_tree(force = false) 445: # check to see if we need to rebuild the cached revision tree 446: if not @cached_rev_tree or force 447: changesets = list_changesets 448: @cached_rev_tree = {} 449: 450: # we only need a simple two level hash based tree structure 451: changesets.each do |uuid| 452: pid = find_parent_of(uuid) 453: # every node needs to be entered and given at least an empty list 454: @cached_rev_tree[uuid] ||= [] 455: if pid and pid != "NONE" 456: @cached_rev_tree[pid] ||= [] 457: @cached_rev_tree[pid] << uuid 458: end 459: end 460: end 461: 462: return @cached_rev_tree 463: end