~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/workingtree_4.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2009-11-17 03:20:35 UTC
  • mfrom: (4792.4.3 456036)
  • Revision ID: pqm@pqm.ubuntu.com-20091117032035-s3sgtlixj1lrminn
(Gordon Tyler) Fix IndexError during 'bzr ignore /' (#456036)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1447
1447
                if basis_root_id is not None:
1448
1448
                    wt._set_root_id(basis_root_id)
1449
1449
                    wt.flush()
 
1450
                # If content filtering is supported, do not use the accelerator
 
1451
                # tree - the cost of transforming the content both ways and
 
1452
                # checking for changed content can outweight the gains it gives.
 
1453
                # Note: do NOT move this logic up higher - using the basis from
 
1454
                # the accelerator tree is still desirable because that can save
 
1455
                # a minute or more of processing on large trees!
 
1456
                # The original tree may not have the same content filters
 
1457
                # applied so we can't safely build the inventory delta from
 
1458
                # the source tree.
1450
1459
                if wt.supports_content_filtering():
1451
 
                    # The original tree may not have the same content filters
1452
 
                    # applied so we can't safely build the inventory delta from
1453
 
                    # the source tree.
 
1460
                    if hardlink:
 
1461
                        # see https://bugs.edge.launchpad.net/bzr/+bug/408193
 
1462
                        trace.warning("hardlinking working copy files is not currently "
 
1463
                            "supported in %r" % (wt,))
 
1464
                    accelerator_tree = None
1454
1465
                    delta_from_tree = False
1455
1466
                else:
1456
1467
                    delta_from_tree = True
1974
1985
        return result
1975
1986
 
1976
1987
    @classmethod
1977
 
    def make_source_parent_tree_compiled_dirstate(klass, test_case, source,
1978
 
                                                  target):
 
1988
    def make_source_parent_tree_compiled_dirstate(klass, test_case, source, target):
1979
1989
        from bzrlib.tests.test__dirstate_helpers import \
1980
 
            compiled_dirstate_helpers_feature
1981
 
        test_case.requireFeature(compiled_dirstate_helpers_feature)
 
1990
            CompiledDirstateHelpersFeature
 
1991
        if not CompiledDirstateHelpersFeature.available():
 
1992
            from bzrlib.tests import UnavailableFeature
 
1993
            raise UnavailableFeature(CompiledDirstateHelpersFeature)
1982
1994
        from bzrlib._dirstate_helpers_pyx import ProcessEntryC
1983
1995
        result = klass.make_source_parent_tree(source, target)
1984
1996
        result[1]._iter_changes = ProcessEntryC
2015
2027
            output. An unversioned file is defined as one with (False, False)
2016
2028
            for the versioned pair.
2017
2029
        """
 
2030
        # NB: show_status depends on being able to pass in non-versioned files
 
2031
        # and report them as unknown
2018
2032
        # TODO: handle extra trees in the dirstate.
2019
2033
        if (extra_trees or specific_files == []):
2020
2034
            # we can't fast-path these cases (yet)