~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/mutabletree.py

(gz) Never raise KnownFailure in tests,
 use knownFailure method instead (Martin [gz])

Show diffs side-by-side

added added

removed removed

Lines of Context:
71
71
    conformance tests for - rather we are testing MemoryTree specifically, and
72
72
    interface testing implementations of WorkingTree.
73
73
 
74
 
    A mutable tree always has an associated Branch and ControlDir object - the
 
74
    A mutable tree always has an associated Branch and BzrDir object - the
75
75
    branch and bzrdir attributes.
76
76
    """
77
77
    def __init__(self, *args, **kw):
260
260
        :param more_warning: Details about what is happening.
261
261
        """
262
262
        if strict is None:
263
 
            strict = self.branch.get_config_stack().get(opt_name)
 
263
            strict = self.branch.get_config().get_user_option_as_bool(opt_name)
264
264
        if strict is not False:
265
265
            err_class = None
266
266
            if (self.has_changes()):
582
582
        :param parent_ie: Parent inventory entry if known, or None.  If
583
583
            None, the parent is looked up by name and used if present, otherwise it
584
584
            is recursively added.
585
 
        :param path: 
586
585
        :param kind: Kind of new entry (file, directory, etc)
587
 
        :param inv_path:
 
586
        :param action: callback(tree, parent_ie, path, kind); can return file_id
588
587
        :return: Inventory entry for path and a list of paths which have been added.
589
588
        """
590
589
        # Nothing to do if path is already versioned.
629
628
            if (prev_dir is None or not is_inside([prev_dir], path)):
630
629
                yield (path, inv_path, this_ie, None)
631
630
            prev_dir = path
632
 
        
 
631
 
633
632
    def __init__(self, tree, action, conflicts_related=None):
634
633
        self.tree = tree
635
634
        if action is None:
696
695
 
697
696
            # get the contents of this directory.
698
697
 
699
 
            # find the kind of the path being added, and save stat_value
700
 
            # for reuse
701
 
            stat_value = None
 
698
            # find the kind of the path being added.
702
699
            if this_ie is None:
703
 
                stat_value = osutils.file_stat(abspath)
704
 
                kind = osutils.file_kind_from_stat_mode(stat_value.st_mode)
 
700
                kind = osutils.file_kind(abspath)
705
701
            else:
706
702
                kind = this_ie.kind
707
 
            
708
 
            # allow AddAction to skip this file
709
 
            if self.action.skip_file(self.tree,  abspath,  kind,  stat_value):
710
 
                continue
 
703
 
711
704
            if not InventoryEntry.versionable_kind(kind):
712
705
                trace.warning("skipping %s (can't add file of kind '%s')",
713
706
                              abspath, kind)
746
739
                # which is perhaps reasonable: adding a new reference is a
747
740
                # special operation and can have a special behaviour.  mbp
748
741
                # 20070306
749
 
                trace.warning("skipping nested tree %r", abspath)
 
742
                trace.mutter("%r is a nested bzr tree", abspath)
750
743
            else:
751
 
                this_ie = self._add_one_and_parent(parent_ie, directory, kind,
752
 
                    inv_path)
 
744
                this_ie = self._add_one_and_parent(parent_ie, directory, kind, inv_path)
753
745
 
754
746
            if kind == 'directory' and not sub_tree:
755
747
                if this_ie.kind != 'directory':
777
769
                        # recurse into this already versioned subdir.
778
770
                        things_to_add.append((subp, sub_invp, sub_ie, this_ie))
779
771
                    else:
780
 
                        # user selection overrides ignores
 
772
                        # user selection overrides ignoes
781
773
                        # ignore while selecting files - if we globbed in the
782
774
                        # outer loop we would ignore user files.
783
775
                        ignore_glob = self.tree.is_ignored(subp)