~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/bundle/serializer/__init__.py

  • Committer: Robert Collins
  • Date: 2007-06-28 02:43:50 UTC
  • mfrom: (2553 +trunk)
  • mto: This revision was merged to the branch mainline in revision 2558.
  • Revision ID: robertc@robertcollins.net-20070628024350-z8bdm0y6yz2uyf4o
Merge bzr.dev.

Show diffs side-by-side

added added

removed removed

Lines of Context:
120
120
    """
121
121
    if base_revision_id is NULL_REVISION:
122
122
        base_revision_id = None
123
 
    base_ancestry = set(repository.get_ancestry(base_revision_id))
124
 
    revision_ids = [r for r in repository.get_ancestry(revision_id) if r
125
 
                    not in base_ancestry]
126
 
    revision_ids = list(reversed(revision_ids))
 
123
    revision_ids = set(repository.get_ancestry(revision_id, topo_sorted=False))
 
124
    revision_ids.difference_update(repository.get_ancestry(base_revision_id,
 
125
                                   topo_sorted=False))
 
126
    revision_ids = list(repository.get_graph().iter_topo_order(revision_ids))
 
127
    revision_ids.reverse()
127
128
    write(repository, revision_ids, out, format,
128
129
          forced_bases = {revision_id:base_revision_id})
129
130
    return revision_ids