/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/transform.py

Merge serialize-transform into prepare-shelf.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1126
1126
        """
1127
1127
        return _PreviewTree(self)
1128
1128
 
 
1129
    def _text_parent(self, trans_id):
 
1130
        file_id = self.tree_file_id(trans_id)
 
1131
        try:
 
1132
            if file_id is None or self._tree.kind(file_id) != 'file':
 
1133
                return None
 
1134
        except errors.NoSuchFile:
 
1135
            return None
 
1136
        return file_id
 
1137
 
1129
1138
    def _get_parents_texts(self, trans_id):
1130
1139
        """Get texts for compression parents of this file."""
1131
 
        file_id = self.tree_file_id(trans_id)
1132
 
        try:
1133
 
            if file_id is None or self._tree.kind(file_id) != 'file':
1134
 
                return ()
1135
 
        except errors.NoSuchFile:
 
1140
        file_id = self._text_parent(trans_id)
 
1141
        if file_id is None:
1136
1142
            return ()
1137
1143
        return (self._tree.get_file_text(file_id),)
1138
1144
 
1139
1145
    def _get_parents_lines(self, trans_id):
1140
1146
        """Get lines for compression parents of this file."""
1141
 
        return tuple(osutils.split_lines(p) for p
1142
 
                     in self._get_parents_texts(trans_id))
 
1147
        file_id = self._text_parent(trans_id)
 
1148
        if file_id is None:
 
1149
            return ()
 
1150
        return (self._tree.get_file_lines(file_id),)
1143
1151
 
1144
1152
    def serialize(self, serializer):
1145
1153
        """Serialize this TreeTransform.
1870
1878
        name = self._transform._limbo_name(trans_id)
1871
1879
        return open(name, 'rb')
1872
1880
 
1873
 
    def get_file_text(self, file_id):
1874
 
        text_file = self.get_file(file_id)
1875
 
        try:
1876
 
            return text_file.read()
1877
 
        finally:
1878
 
            text_file.close()
1879
 
 
1880
1881
    def annotate_iter(self, file_id,
1881
1882
                      default_revision=_mod_revision.CURRENT_REVISION):
1882
1883
        changes = self._changes(file_id)