~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/deprecated_graph.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2007-08-06 02:31:39 UTC
  • mfrom: (2665.1.2 stricter-run_bzr)
  • Revision ID: pqm@pqm.ubuntu.com-20070806023139-97nrt9mu4qihcdf3
(robertc) Merge Michael Hudson's run_bzr keyword usage fix. (Michael Hudson)

Show diffs side-by-side

added added

removed removed

Lines of Context:
125
125
 
126
126
    def add_node(self, node_id, parent_ids):
127
127
        """Add node_id to the graph with parent_ids as its parents."""
128
 
        if parent_ids == []:
 
128
        if len(parent_ids) == 0:
129
129
            self.roots.add(node_id)
130
130
        self._graph_ancestors[node_id] = list(parent_ids)
131
131
        self._ensure_descendant(node_id)
142
142
        """Return a dictionary of graph node:ancestor_list entries."""
143
143
        return dict(self._graph_ancestors.items())
144
144
 
145
 
    def get_ancestry(self, node_id):
 
145
    def get_ancestry(self, node_id, topo_sorted=True):
146
146
        """Return the inclusive ancestors of node_id in topological order."""
147
147
        # maybe optimise this ?
148
148
        result = {}
155
155
            for parent in parents:
156
156
                if parent not in result and parent not in pending:
157
157
                    pending.add(parent)
 
158
        if not topo_sorted:
 
159
            return result.keys()
158
160
        return topo_sort(result.items())
159
161
 
160
162
    def get_descendants(self):