/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/transform.py

Fixed some Windows bugs, introduced a conflicts bug

Show diffs side-by-side

added added

removed removed

Lines of Context:
429
429
        tree_paths = list(self._tree_path_ids.iteritems())
430
430
        tree_paths.sort(reverse=True)
431
431
        for path, trans_id in tree_paths:
 
432
            full_path = self._tree.abspath(path)
432
433
            if trans_id in self._removed_contents:
433
434
                try:
434
 
                    os.unlink(path)
 
435
                    os.unlink(full_path)
435
436
                except OSError, e:
436
 
                    if e.errno != errno.EISDIR:
 
437
                    if e.errno != errno.EISDIR and e.errno != errno.EACCES:
437
438
                        raise
438
 
                    os.rmdir(path)
 
439
                    os.rmdir(full_path)
439
440
            elif trans_id in self._new_name or trans_id in self._new_parent:
440
 
                os.rename(path, os.path.join(limbo, trans_id))
 
441
                os.rename(full_path, os.path.join(limbo, trans_id))
441
442
            if trans_id in self._removed_id:
442
443
                del inv[self.get_tree_file_id(trans_id)]
443
444
            elif trans_id in self._new_name or trans_id in self._new_parent:
468
469
                os.mkdir(self._tree.abspath(path))
469
470
            elif kind == 'symlink':
470
471
                target = self._new_contents[trans_id][1]
471
 
                os.symlink(target, path)
 
472
                os.symlink(target, self._tree.abspath(path))
472
473
            elif kind is None and (trans_id in self._new_name or
473
474
                                   trans_id in self._new_parent):
474
 
                os.rename(os.path.join(limbo, trans_id), path)
 
475
                os.rename(os.path.join(limbo, trans_id), 
 
476
                                       self._tree.abspath(path))
475
477
 
476
478
 
477
479
            if trans_id in self._new_id: