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

Fix tests.

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
from __future__ import absolute_import
23
23
 
24
24
import os
 
25
import stat
25
26
 
26
27
from . import (
27
28
    errors,
62
63
        with self.lock_tree_write():
63
64
            for f, file_id, kind in zip(files, ids, kinds):
64
65
                if kind is None:
65
 
                    kind = 'file'
 
66
                    st_mode = self._file_transport.stat(f).st_mode
 
67
                    if stat.S_ISREG(st_mode):
 
68
                        kind = 'file'
 
69
                    elif stat.S_ISLNK(st_mode):
 
70
                        kind = 'symlink'
 
71
                    elif stat.S_ISDIR(st_mode):
 
72
                        kind = 'directory'
 
73
                    else:
 
74
                        raise AssertionError('Unknown file kind')
66
75
                if file_id is None:
67
76
                    self._inventory.add_path(f, kind=kind)
68
77
                else:
148
157
        return self._inventory.get_entry_by_path(path).executable
149
158
 
150
159
    def kind(self, path):
151
 
        file_id = self.path2id(path)
152
 
        return self._inventory[file_id].kind
 
160
        return self._inventory.get_entry_by_path(path).kind
153
161
 
154
162
    def mkdir(self, path, file_id=None):
155
163
        """See MutableTree.mkdir()."""
304
312
            else:
305
313
                raise
306
314
 
 
315
    def get_symlink_target(self, path):
 
316
        with self.lock_read():
 
317
            return self._file_transport.readlink(path)
 
318
 
307
319
    def set_parent_trees(self, parents_list, allow_leftmost_as_ghost=False):
308
320
        """See MutableTree.set_parent_trees()."""
309
321
        if len(parents_list) == 0: