~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-05-07 17:47:41 UTC
  • mfrom: (4325.3.9 jam-integration)
  • Revision ID: pqm@pqm.ubuntu.com-20090507174741-gavb04vy1c6s0w9n
(Johan Walles) fix bug #180116 by using a sort() and linear operation
        for osutils.minimum_path_selection()

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005, 2006, 2007, 2008 Canonical Ltd
 
1
# Copyright (C) 2005, 2006, 2007, 2008, 2009 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
2021
2021
        else:
2022
2022
            specific_files = set([''])
2023
2023
        # -- specific_files is now a utf8 path set --
2024
 
        search_specific_files = set()
 
2024
 
2025
2025
        # -- get the state object and prepare it.
2026
2026
        state = self.target.current_dirstate()
2027
2027
        state._read_dirblocks_if_needed()
2051
2051
            if not all_versioned:
2052
2052
                raise errors.PathsNotVersionedError(specific_files)
2053
2053
        # -- remove redundancy in supplied specific_files to prevent over-scanning --
2054
 
        for path in specific_files:
2055
 
            other_specific_files = specific_files.difference(set([path]))
2056
 
            if not osutils.is_inside_any(other_specific_files, path):
2057
 
                # this is a top level path, we must check it.
2058
 
                search_specific_files.add(path)
 
2054
        search_specific_files = osutils.minimum_path_selection(specific_files)
2059
2055
 
2060
2056
        use_filesystem_for_exec = (sys.platform != 'win32')
2061
2057
        iter_changes = self.target._iter_changes(include_unchanged,