/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: Aaron Bentley
  • Date: 2007-02-07 03:09:58 UTC
  • mfrom: (2268 +trunk)
  • mto: This revision was merged to the branch mainline in revision 2269.
  • Revision ID: aaron.bentley@utoronto.ca-20070207030958-fx6ykp7rg7zma6xu
Merge bzr.dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
518
518
 
519
519
    def get_delta(self, version_id):
520
520
        """Get a delta for constructing version from some other version."""
 
521
        self.check_not_reserved_id(version_id)
521
522
        if not self.has_version(version_id):
522
523
            raise RevisionNotPresent(version_id, self.filename)
523
524
        
685
686
        ### FIXME escape. RBC 20060228
686
687
        if contains_whitespace(version_id):
687
688
            raise InvalidRevisionId(version_id, self.filename)
 
689
        self.check_not_reserved_id(version_id)
688
690
        if self.has_version(version_id):
689
691
            raise RevisionAlreadyPresent(version_id, self.filename)
690
692
        self._check_lines_not_unicode(lines)
797
799
 
798
800
    def get_line_list(self, version_ids):
799
801
        """Return the texts of listed versions as a list of strings."""
 
802
        for version_id in version_ids:
 
803
            self.check_not_reserved_id(version_id)
800
804
        text_map, content_map = self._get_content_maps(version_ids)
801
805
        return [text_map[v] for v in version_ids]
802
806
 
1126
1130
        # so - wc -l of a knit index is != the number of unique names
1127
1131
        # in the knit.
1128
1132
        self._history = []
1129
 
        decode_utf8 = cache_utf8.decode
1130
 
        pb = ui.ui_factory.nested_progress_bar()
1131
1133
        try:
1132
 
            pb.update('read knit index', 0, 1)
 
1134
            fp = self._transport.get(self._filename)
1133
1135
            try:
1134
 
                fp = self._transport.get(self._filename)
1135
 
                try:
1136
 
                    # _load_data may raise NoSuchFile if the target knit is
1137
 
                    # completely empty.
1138
 
                    self._load_data(fp)
1139
 
                finally:
1140
 
                    fp.close()
1141
 
            except NoSuchFile:
1142
 
                if mode != 'w' or not create:
1143
 
                    raise
1144
 
                elif delay_create:
1145
 
                    self._need_to_create = True
1146
 
                else:
1147
 
                    self._transport.put_bytes_non_atomic(
1148
 
                        self._filename, self.HEADER, mode=self._file_mode)
1149
 
        finally:
1150
 
            pb.update('read knit index', 1, 1)
1151
 
            pb.finished()
 
1136
                # _load_data may raise NoSuchFile if the target knit is
 
1137
                # completely empty.
 
1138
                self._load_data(fp)
 
1139
            finally:
 
1140
                fp.close()
 
1141
        except NoSuchFile:
 
1142
            if mode != 'w' or not create:
 
1143
                raise
 
1144
            elif delay_create:
 
1145
                self._need_to_create = True
 
1146
            else:
 
1147
                self._transport.put_bytes_non_atomic(
 
1148
                    self._filename, self.HEADER, mode=self._file_mode)
1152
1149
 
1153
1150
    def _load_data(self, fp):
1154
1151
        cache = self._cache