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

  • Committer: Jelmer Vernooij
  • Date: 2018-03-24 17:48:04 UTC
  • mfrom: (6921 work)
  • mto: This revision was merged to the branch mainline in revision 6923.
  • Revision ID: jelmer@jelmer.uk-20180324174804-xf22o05byoj12x1q
Merge trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
657
657
            if kind is None:
658
658
                conflicts.append(('versioning no contents', trans_id))
659
659
                continue
660
 
            if not self._tree.versionable_kind(kind):
 
660
            if not inventory.InventoryEntry.versionable_kind(kind):
661
661
                conflicts.append(('versioning bad kind', trans_id, kind))
662
662
        return conflicts
663
663
 
902
902
        from_path = self._tree_id_paths.get(from_trans_id)
903
903
        if from_versioned:
904
904
            # get data from working tree if versioned
905
 
            from_entry = next(self._tree.iter_entries_by_dir(
906
 
                    specific_files=[from_path]))[1]
 
905
            from_entry = self._tree.iter_entries_by_dir(
 
906
                    specific_files=[from_path]).next()[1]
907
907
            from_name = from_entry.name
908
908
            from_parent = from_entry.parent_id
909
909
        else:
1946
1946
            path = self._tree_id_paths[parent_id]
1947
1947
        except KeyError:
1948
1948
            return
1949
 
        entry = next(self._tree.iter_entries_by_dir(
1950
 
                specific_files=[path]))[1]
 
1949
        entry = self._tree.iter_entries_by_dir(
 
1950
                specific_files=[path]).next()[1]
1951
1951
        children = getattr(entry, 'children', {})
1952
1952
        for child in children:
1953
1953
            childpath = joinpath(path, child)
2127
2127
            if self._transform.final_file_id(trans_id) is None:
2128
2128
                yield self._final_paths._determine_path(trans_id)
2129
2129
 
2130
 
    def _make_inv_entries(self, ordered_entries, specific_files=None):
 
2130
    def _make_inv_entries(self, ordered_entries, specific_files=None,
 
2131
        yield_parents=False):
2131
2132
        for trans_id, parent_file_id in ordered_entries:
2132
2133
            file_id = self._transform.final_file_id(trans_id)
2133
2134
            if file_id is None:
2169
2170
        for entry, trans_id in self._make_inv_entries(todo):
2170
2171
            yield entry
2171
2172
 
2172
 
    def iter_entries_by_dir(self, specific_files=None):
 
2173
    def iter_entries_by_dir(self, specific_files=None, yield_parents=False):
2173
2174
        # This may not be a maximally efficient implementation, but it is
2174
2175
        # reasonably straightforward.  An implementation that grafts the
2175
2176
        # TreeTransform changes onto the tree's iter_entries_by_dir results
2177
2178
        # position.
2178
2179
        ordered_ids = self._list_files_by_dir()
2179
2180
        for entry, trans_id in self._make_inv_entries(ordered_ids,
2180
 
            specific_files):
 
2181
            specific_files, yield_parents=yield_parents):
2181
2182
            yield unicode(self._final_paths.get_path(trans_id)), entry
2182
2183
 
2183
2184
    def _iter_entries_for_dir(self, dir_path):
2299
2300
                if e.errno == errno.ENOENT:
2300
2301
                    return False
2301
2302
                raise
2302
 
            except errors.NoSuchFile:
 
2303
            except errors.NoSuchId:
2303
2304
                return False
2304
2305
 
2305
2306
    def has_filename(self, path):