~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/workingtree.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2006-07-19 21:44:16 UTC
  • mfrom: (1836.1.26 ignores)
  • Revision ID: pqm@pqm.ubuntu.com-20060719214416-9fab2f627df9f1aa
(jam) allow global user ignores, and include a small set by default

Show diffs side-by-side

added added

removed removed

Lines of Context:
51
51
from time import time
52
52
import warnings
53
53
 
54
 
from bzrlib import bzrdir, errors, osutils, urlutils
 
54
import bzrlib
 
55
from bzrlib import bzrdir, errors, ignores, osutils, urlutils
55
56
from bzrlib.atomicfile import AtomicFile
56
57
import bzrlib.branch
57
58
from bzrlib.conflicts import Conflict, ConflictList, CONFLICT_SUFFIXES
374
375
        """
375
376
        inv = self._inventory
376
377
        for path, ie in inv.iter_entries():
377
 
            if bzrlib.osutils.lexists(self.abspath(path)):
 
378
            if osutils.lexists(self.abspath(path)):
378
379
                yield ie.file_id
379
380
 
380
381
    def __repr__(self):
446
447
        return relpath(self.basedir, path)
447
448
 
448
449
    def has_filename(self, filename):
449
 
        return bzrlib.osutils.lexists(self.abspath(filename))
 
450
        return osutils.lexists(self.abspath(filename))
450
451
 
451
452
    def get_file(self, file_id):
452
453
        return self.get_file_byname(self.id2path(file_id))
536
537
        if not inv.has_id(file_id):
537
538
            return False
538
539
        path = inv.id2path(file_id)
539
 
        return bzrlib.osutils.lexists(self.abspath(path))
 
540
        return osutils.lexists(self.abspath(path))
540
541
 
541
542
    def has_or_had_id(self, file_id):
542
543
        if file_id == self.inventory.root.file_id:
720
721
        """
721
722
        inv = self._inventory
722
723
        # Convert these into local objects to save lookup times
723
 
        pathjoin = bzrlib.osutils.pathjoin
724
 
        file_kind = bzrlib.osutils.file_kind
 
724
        pathjoin = osutils.pathjoin
 
725
        file_kind = osutils.file_kind
725
726
 
726
727
        # transport.base ends in a slash, we want the piece
727
728
        # between the last two slashes
1097
1098
 
1098
1099
        Cached in the Tree object after the first call.
1099
1100
        """
1100
 
        if hasattr(self, '_ignorelist'):
1101
 
            return self._ignorelist
1102
 
 
1103
 
        l = []
 
1101
        ignorelist = getattr(self, '_ignorelist', None)
 
1102
        if ignorelist is not None:
 
1103
            return ignorelist
 
1104
 
 
1105
        ignore_globs = bzrlib.DEFAULT_IGNORE[:]
 
1106
 
 
1107
        ignore_globs.extend(ignores.get_user_ignores())
 
1108
 
1104
1109
        if self.has_filename(bzrlib.IGNORE_FILENAME):
1105
1110
            f = self.get_file_byname(bzrlib.IGNORE_FILENAME)
1106
 
            l.extend([line.rstrip("\n\r").decode('utf-8') 
1107
 
                      for line in f.readlines()])
1108
 
        self._ignorelist = l
1109
 
        self._ignore_regex = self._combine_ignore_rules(l)
1110
 
        return l
 
1111
            try:
 
1112
                ignore_globs.extend(ignores.parse_ignore_file(f))
 
1113
            finally:
 
1114
                f.close()
 
1115
 
 
1116
        self._ignorelist = ignore_globs
 
1117
        self._ignore_regex = self._combine_ignore_rules(ignore_globs)
 
1118
        return ignore_globs
1111
1119
 
1112
1120
    def _get_ignore_rules_as_regex(self):
1113
1121
        """Return a regex of the ignore rules and a mapping dict.