/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/knit.py

  • Committer: Robert Collins
  • Date: 2008-03-26 21:42:35 UTC
  • mto: This revision was merged to the branch mainline in revision 3313.
  • Revision ID: robertc@robertcollins.net-20080326214235-3wmnqamcgytwif89
 * ``VersionedFile.get_graph`` is deprecated, with no replacement method.
   The method was size(history) and not desirable. (Robert Collins)

Show diffs side-by-side

added added

removed removed

Lines of Context:
101
101
    RevisionNotPresent,
102
102
    RevisionAlreadyPresent,
103
103
    )
104
 
from bzrlib.tuned_gzip import GzipFile, bytes_to_gzip
 
104
from bzrlib.graph import Graph
105
105
from bzrlib.osutils import (
106
106
    contains_whitespace,
107
107
    contains_linebreaks,
110
110
    )
111
111
from bzrlib.symbol_versioning import DEPRECATED_PARAMETER, deprecated_passed
112
112
from bzrlib.tsort import topo_sort
 
113
from bzrlib.tuned_gzip import GzipFile, bytes_to_gzip
113
114
import bzrlib.ui
 
115
from bzrlib.versionedfile import VersionedFile, InterVersionedFile
114
116
import bzrlib.weave
115
 
from bzrlib.versionedfile import VersionedFile, InterVersionedFile
116
117
 
117
118
 
118
119
# TODO: Split out code specific to this format into an associated object.
2673
2674
        see join() for the parameter definitions.
2674
2675
        """
2675
2676
        version_ids = self._get_source_version_ids(version_ids, ignore_missing)
2676
 
        graph = self.source.get_graph(version_ids)
2677
 
        order = topo_sort(graph.items())
 
2677
        # --- the below is factorable out with VersionedFile.join, but wait for
 
2678
        # VersionedFiles, it may all be simpler then.
 
2679
        graph = Graph(self.source)
 
2680
        search = graph._make_breadth_first_searcher(version_ids)
 
2681
        transitive_ids = set()
 
2682
        map(transitive_ids.update, list(search))
 
2683
        parent_map = self.source.get_parent_map(transitive_ids)
 
2684
        order = topo_sort(parent_map.items())
2678
2685
 
2679
2686
        def size_of_content(content):
2680
2687
            return sum(len(line) for line in content.text())
2741
2748
    
2742
2749
            if not needed_versions:
2743
2750
                return 0
2744
 
            full_list = topo_sort(self.source.get_graph())
 
2751
            full_list = topo_sort(
 
2752
                self.source.get_parent_map(self.source.versions()))
2745
2753
    
2746
2754
            version_list = [i for i in full_list if (not self.target.has_version(i)
2747
2755
                            and i in needed_versions)]
2843
2851
    
2844
2852
            if not needed_versions:
2845
2853
                return 0
2846
 
            full_list = topo_sort(self.source.get_graph())
 
2854
            full_list = topo_sort(
 
2855
                self.source.get_parent_map(self.source.versions()))
2847
2856
    
2848
2857
            version_list = [i for i in full_list if (not self.target.has_version(i)
2849
2858
                            and i in needed_versions)]