~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/transform.py

  • Committer: Vincent Ladeuil
  • Date: 2010-04-15 15:03:15 UTC
  • mfrom: (4797.42.3 2.1-integration)
  • mto: This revision was merged to the branch mainline in revision 5160.
  • Revision ID: v.ladeuil+lp@free.fr-20100415150315-y2bbh2tzvshyzet0
Merge 2.1 into bzr.dev including fixes for #262450, #373898, #498409

Show diffs side-by-side

added added

removed removed

Lines of Context:
35
35
    )
36
36
""")
37
37
from bzrlib.errors import (DuplicateKey, MalformedTransform, NoSuchFile,
38
 
                           ReusingTransform, CantMoveRoot,
 
38
                           ReusingTransform, NotVersionedError, CantMoveRoot,
39
39
                           ExistingLimbo, ImmortalLimbo, NoFinalPath,
40
40
                           UnableCreateSymlink)
41
41
from bzrlib.filters import filtered_output_bytes, ContentFilterContext
1160
1160
            if trans_id not in self._new_contents:
1161
1161
                continue
1162
1162
            new_path = self._limbo_name(trans_id)
1163
 
            osutils.rename(old_path, new_path)
 
1163
            os.rename(old_path, new_path)
1164
1164
            for descendant in self._limbo_descendants(trans_id):
1165
1165
                desc_path = self._limbo_files[descendant]
1166
1166
                desc_path = new_path + desc_path[len(old_path):]
1798
1798
            executable = self.is_executable(file_id, path)
1799
1799
        return kind, executable, None
1800
1800
 
1801
 
    def is_locked(self):
1802
 
        return False
1803
 
 
1804
1801
    def lock_read(self):
1805
1802
        # Perhaps in theory, this should lock the TreeTransform?
1806
 
        return self
 
1803
        pass
1807
1804
 
1808
1805
    def unlock(self):
1809
1806
        pass
2901
2898
        self.pending_deletions = []
2902
2899
 
2903
2900
    def rename(self, from_, to):
2904
 
        """Rename a file from one path to another."""
 
2901
        """Rename a file from one path to another.  Functions like os.rename"""
2905
2902
        try:
2906
 
            osutils.rename(from_, to)
 
2903
            os.rename(from_, to)
2907
2904
        except OSError, e:
2908
2905
            if e.errno in (errno.EEXIST, errno.ENOTEMPTY):
2909
2906
                raise errors.FileExists(to, str(e))
2923
2920
    def rollback(self):
2924
2921
        """Reverse all renames that have been performed"""
2925
2922
        for from_, to in reversed(self.past_renames):
2926
 
            osutils.rename(to, from_)
 
2923
            os.rename(to, from_)
2927
2924
        # after rollback, don't reuse _FileMover
2928
2925
        past_renames = None
2929
2926
        pending_deletions = None