/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: Breezy landing bot
  • Author(s): Jelmer Vernooij
  • Date: 2018-03-24 01:26:27 UTC
  • mfrom: (6885.4.2 transform-no-trans-id-file-id)
  • Revision ID: breezy.the.bot@gmail.com-20180324012627-10kga0qv4wqtohky
Avoid use of TreeTransform.trans_id_file_id.

Merged from https://code.launchpad.net/~jelmer/brz/transform-no-trans-id-file-id/+merge/341701

Show diffs side-by-side

added added

removed removed

Lines of Context:
2162
2162
        return ordered_ids
2163
2163
 
2164
2164
    def iter_child_entries(self, path, file_id=None):
2165
 
        if file_id is None:
2166
 
            file_id = self.path2id(path)
2167
 
        if file_id is None:
 
2165
        trans_id = self._path2trans_id(path)
 
2166
        if trans_id is None:
2168
2167
            raise errors.NoSuchFile(path)
2169
 
        trans_id = self._transform.trans_id_file_id(file_id)
2170
2168
        todo = [(child_trans_id, trans_id) for child_trans_id in
2171
2169
                self._all_children(trans_id)]
2172
2170
        for entry, trans_id in self._make_inv_entries(todo):
2185
2183
 
2186
2184
    def _iter_entries_for_dir(self, dir_path):
2187
2185
        """Return path, entry for items in a directory without recursing down."""
2188
 
        dir_file_id = self.path2id(dir_path)
2189
2186
        ordered_ids = []
2190
 
        for file_id in self._iter_children(dir_file_id):
2191
 
            trans_id = self._transform.trans_id_file_id(file_id)
2192
 
            ordered_ids.append((trans_id, file_id))
 
2187
        dir_trans_id = self._path2trans_id(dir_path)
 
2188
        dir_id = self._transform.final_file_id(dir_trans_id)
 
2189
        for child_trans_id in self._all_children(dir_trans_id):
 
2190
            ordered_ids.append((child_trans_id, dir_id))
2193
2191
        for entry, trans_id in self._make_inv_entries(ordered_ids):
2194
2192
            yield unicode(self._final_paths.get_path(trans_id)), entry
2195
2193
 
2220
2218
                yield path, 'V', entry.kind, entry.file_id, entry
2221
2219
 
2222
2220
    def kind(self, path, file_id=None):
2223
 
        if file_id is None:
2224
 
            file_id = self.path2id(path)
2225
 
        trans_id = self._transform.trans_id_file_id(file_id)
 
2221
        trans_id = self._path2trans_id(path)
 
2222
        if trans_id is None:
 
2223
            raise errors.NoSuchFile(path)
2226
2224
        return self._transform.final_kind(trans_id)
2227
2225
 
2228
2226
    def stored_kind(self, path, file_id=None):
2229
 
        if file_id is None:
2230
 
            file_id = self.path2id(path)
2231
 
        trans_id = self._transform.trans_id_file_id(file_id)
 
2227
        trans_id = self._path2trans_id(path)
 
2228
        if trans_id is None:
 
2229
            raise errors.NoSuchFile(path)
2232
2230
        try:
2233
2231
            return self._transform._new_contents[trans_id]
2234
2232
        except KeyError:
2243
2241
        if not self._content_change(file_id):
2244
2242
            return self._transform._tree.get_file_mtime(
2245
2243
                    self._transform._tree.id2path(file_id), file_id)
2246
 
        trans_id = self._transform.trans_id_file_id(file_id)
 
2244
        trans_id = self._path2trans_id(path)
2247
2245
        return self._stat_limbo_file(trans_id).st_mtime
2248
2246
 
2249
2247
    def get_file_size(self, path, file_id=None):
2250
2248
        """See Tree.get_file_size"""
2251
 
        if file_id is None:
2252
 
            file_id = self.path2id(path)
2253
 
        trans_id = self._transform.trans_id_file_id(file_id)
 
2249
        trans_id = self._path2trans_id(path)
 
2250
        if trans_id is None:
 
2251
            raise errors.NoSuchFile(path)
2254
2252
        kind = self._transform.final_kind(trans_id)
2255
2253
        if kind != 'file':
2256
2254
            return None
2262
2260
            return None
2263
2261
 
2264
2262
    def get_file_verifier(self, path, file_id=None, stat_value=None):
2265
 
        if file_id is None:
2266
 
            file_id = self.path2id(path)
2267
 
        trans_id = self._transform.trans_id_file_id(file_id)
 
2263
        trans_id = self._path2trans_id(path)
 
2264
        if trans_id is None:
 
2265
            raise errors.NoSuchFile(path)
2268
2266
        kind = self._transform._new_contents.get(trans_id)
2269
2267
        if kind is None:
2270
2268
            return self._transform._tree.get_file_verifier(path, file_id)
2276
2274
                fileobj.close()
2277
2275
 
2278
2276
    def get_file_sha1(self, path, file_id=None, stat_value=None):
2279
 
        if file_id is None:
2280
 
            file_id = self.path2id(path)
2281
 
        trans_id = self._transform.trans_id_file_id(file_id)
 
2277
        trans_id = self._path2trans_id(path)
 
2278
        if trans_id is None:
 
2279
            raise errors.NoSuchFile(path)
2282
2280
        kind = self._transform._new_contents.get(trans_id)
2283
2281
        if kind is None:
2284
2282
            return self._transform._tree.get_file_sha1(path, file_id)
2290
2288
                fileobj.close()
2291
2289
 
2292
2290
    def is_executable(self, path, file_id=None):
2293
 
        if file_id is None:
2294
 
            file_id = self.path2id(path)
2295
 
        if file_id is None:
 
2291
        trans_id = self._path2trans_id(path)
 
2292
        if trans_id is None:
2296
2293
            return False
2297
 
        trans_id = self._transform.trans_id_file_id(file_id)
2298
2294
        try:
2299
2295
            return self._transform._new_executability[trans_id]
2300
2296
        except KeyError:
2373
2369
            file_id = self.path2id(path)
2374
2370
        if not self._content_change(file_id):
2375
2371
            return self._transform._tree.get_file(path, file_id)
2376
 
        trans_id = self._transform.trans_id_file_id(file_id)
 
2372
        trans_id = self._path2trans_id(path)
2377
2373
        name = self._transform._limbo_name(trans_id)
2378
2374
        return open(name, 'rb')
2379
2375
 
2419
2415
            file_id = self.path2id(path)
2420
2416
        if not self._content_change(file_id):
2421
2417
            return self._transform._tree.get_symlink_target(path)
2422
 
        trans_id = self._transform.trans_id_file_id(file_id)
 
2418
        trans_id = self._path2trans_id(path)
2423
2419
        name = self._transform._limbo_name(trans_id)
2424
2420
        return osutils.readlink(name)
2425
2421