~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/ignores.py

  • Committer: John Arbash Meinel
  • Date: 2006-07-20 22:14:38 UTC
  • mto: This revision was merged to the branch mainline in revision 1877.
  • Revision ID: john@arbash-meinel.com-20060720221438-f91ad8cc36e0b576
Change ignore functions to use sets instead of lists.

Show diffs side-by-side

added added

removed removed

Lines of Context:
97
97
 
98
98
def parse_ignore_file(f):
99
99
    """Read in all of the lines in the file and turn it into an ignore list"""
100
 
    ignored = []
 
100
    ignored = set()
101
101
    for line in f.read().decode('utf8').split('\n'):
102
102
        line = line.rstrip('\r\n')
103
103
        if not line or line.startswith('#'):
104
104
            continue
105
 
        ignored.append(line)
 
105
        ignored.add(line)
106
106
    return ignored
107
107
 
108
108
 
109
109
def get_user_ignores():
110
110
    """Get the list of user ignored files, possibly creating it."""
111
111
    path = config.user_ignore_config_filename()
112
 
    patterns = USER_DEFAULTS[:]
 
112
    patterns = set(USER_DEFAULTS)
113
113
    try:
114
114
        f = open(path, 'rb')
115
115
    except (IOError, OSError), e:
157
157
    :param new_ignores: A list of ignore patterns
158
158
    :return: The list of ignores that were added
159
159
    """
160
 
    ignored = set(get_user_ignores())
 
160
    ignored = get_user_ignores()
161
161
    to_add = []
162
162
    for ignore in new_ignores:
163
163
        if ignore not in ignored: