/breezy/unstable

To get this branch, use:
bzr branch https://code.breezy-vcs.org/breezy/unstable

« back to all changes in this revision

Viewing changes to breezy/dirstate.py

  • Committer: Jelmer Vernooij
  • Date: 2017-05-24 01:39:33 UTC
  • mfrom: (3815.3776.6)
  • Revision ID: jelmer@jelmer.uk-20170524013933-ir4y4tqtrsiz2ka2
New upstream snapshot.

Show diffs side-by-side

added added

removed removed

Lines of Context:
230
230
import time
231
231
import zlib
232
232
 
233
 
from bzrlib import (
 
233
from breezy import (
234
234
    cache_utf8,
235
235
    config,
236
236
    debug,
518
518
                block[entry_index][0][0:2] == first_key[0:2]):
519
519
                if block[entry_index][1][0][0] not in 'ar':
520
520
                    # this path is in the dirstate in the current tree.
521
 
                    raise Exception, "adding already added path!"
 
521
                    raise Exception("adding already added path!")
522
522
                entry_index += 1
523
523
        else:
524
524
            # The block where we want to put the file is not present. But it
1022
1022
            return
1023
1023
        # only require all dirblocks if we are doing a full-pass removal.
1024
1024
        self._read_dirblocks_if_needed()
1025
 
        dead_patterns = set([('a', 'r'), ('a', 'a'), ('r', 'r'), ('r', 'a')])
 
1025
        dead_patterns = {('a', 'r'), ('a', 'a'), ('r', 'r'), ('r', 'a')}
1026
1026
        def iter_entries_removable():
1027
1027
            for block in self._dirblocks:
1028
1028
                deleted_positions = []
1387
1387
            self._apply_insertions(insertions.values())
1388
1388
            # Validate parents
1389
1389
            self._after_delta_check_parents(parents, 0)
1390
 
        except errors.BzrError, e:
 
1390
        except errors.BzrError as e:
1391
1391
            self._changes_aborted = True
1392
1392
            if 'integrity error' not in str(e):
1393
1393
                raise
1584
1584
            self._update_basis_apply_changes(changes)
1585
1585
            # Validate parents
1586
1586
            self._after_delta_check_parents(parents, 1)
1587
 
        except errors.BzrError, e:
 
1587
        except errors.BzrError as e:
1588
1588
            self._changes_aborted = True
1589
1589
            if 'integrity error' not in str(e):
1590
1590
                raise
1872
1872
        :param stat_value: The os.lstat for the file.
1873
1873
        """
1874
1874
        try:
1875
 
            minikind = _stat_to_minikind[stat_value.st_mode & 0170000]
 
1875
            minikind = _stat_to_minikind[stat_value.st_mode & 0o170000]
1876
1876
        except KeyError:
1877
1877
            # Unhandled kind
1878
1878
            return None
2113
2113
        """
2114
2114
        self._read_dirblocks_if_needed()
2115
2115
        if path_utf8 is not None:
2116
 
            if type(path_utf8) is not str:
 
2116
            if not isinstance(path_utf8, str):
2117
2117
                raise errors.BzrError('path_utf8 is not a str: %s %r'
2118
2118
                    % (type(path_utf8), path_utf8))
2119
2119
            # path lookups are faster
2288
2288
        """Iterate over all the entries in the dirstate.
2289
2289
 
2290
2290
        Each yelt item is an entry in the standard format described in the
2291
 
        docstring of bzrlib.dirstate.
 
2291
        docstring of breezy.dirstate.
2292
2292
        """
2293
2293
        self._read_dirblocks_if_needed()
2294
2294
        for directory in self._dirblocks:
3382
3382
        target of a symlink.
3383
3383
    """
3384
3384
    try:
3385
 
        minikind = _stat_to_minikind[stat_value.st_mode & 0170000]
 
3385
        minikind = _stat_to_minikind[stat_value.st_mode & 0o170000]
3386
3386
    except KeyError:
3387
3387
        # Unhandled kind
3388
3388
        return None
3475
3475
        self.old_dirname_to_file_id = {}
3476
3476
        self.new_dirname_to_file_id = {}
3477
3477
        # Are we doing a partial iter_changes?
3478
 
        self.partial = search_specific_files != set([''])
 
3478
        self.partial = search_specific_files != {''}
3479
3479
        # Using a list so that we can access the values and change them in
3480
3480
        # nested scope. Each one is [path, file_id, entry]
3481
3481
        self.last_source_parent = [None, None]
3853
3853
            root_abspath = self.tree.abspath(current_root_unicode)
3854
3854
            try:
3855
3855
                root_stat = os.lstat(root_abspath)
3856
 
            except OSError, e:
 
3856
            except OSError as e:
3857
3857
                if e.errno == errno.ENOENT:
3858
3858
                    # the path does not exist: let _process_entry know that.
3859
3859
                    root_dir_info = None
3907
3907
                dir_iterator = osutils._walkdirs_utf8(root_abspath, prefix=current_root)
3908
3908
                try:
3909
3909
                    current_dir_info = dir_iterator.next()
3910
 
                except OSError, e:
 
3910
                except OSError as e:
3911
3911
                    # on win32, python2.4 has e.errno == ERROR_DIRECTORY, but
3912
3912
                    # python 2.5 has e.errno == EINVAL,
3913
3913
                    #            and e.winerror == ERROR_DIRECTORY
4239
4239
        abspath = self.tree.abspath(unicode_path)
4240
4240
        try:
4241
4241
            stat = os.lstat(abspath)
4242
 
        except OSError, e:
 
4242
        except OSError as e:
4243
4243
            if e.errno == errno.ENOENT:
4244
4244
                # the path does not exist.
4245
4245
                return None
4259
4259
 
4260
4260
# Try to load the compiled form if possible
4261
4261
try:
4262
 
    from bzrlib._dirstate_helpers_pyx import (
 
4262
    from breezy._dirstate_helpers_pyx import (
4263
4263
        _read_dirblocks,
4264
4264
        bisect_dirblock,
4265
4265
        _bisect_path_left,
4269
4269
        ProcessEntryC as _process_entry,
4270
4270
        update_entry as update_entry,
4271
4271
        )
4272
 
except ImportError, e:
 
4272
except ImportError as e:
4273
4273
    osutils.failed_to_load_extension(e)
4274
 
    from bzrlib._dirstate_helpers_py import (
 
4274
    from breezy._dirstate_helpers_py import (
4275
4275
        _read_dirblocks,
4276
4276
        bisect_dirblock,
4277
4277
        _bisect_path_left,