~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/transform.py

(mbp) tolerate empty limbo and pending-deletion directories (bug 427773)
 (Martin Pool)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1562
1562
        try:
1563
1563
            limbodir = urlutils.local_path_from_url(
1564
1564
                tree._transport.abspath('limbo'))
1565
 
            try:
1566
 
                os.mkdir(limbodir)
1567
 
            except OSError, e:
1568
 
                if e.errno == errno.EEXIST:
1569
 
                    raise ExistingLimbo(limbodir)
 
1565
            osutils.ensure_empty_directory_exists(
 
1566
                limbodir,
 
1567
                errors.ExistingLimbo)
1570
1568
            deletiondir = urlutils.local_path_from_url(
1571
1569
                tree._transport.abspath('pending-deletion'))
1572
 
            try:
1573
 
                os.mkdir(deletiondir)
1574
 
            except OSError, e:
1575
 
                if e.errno == errno.EEXIST:
1576
 
                    raise errors.ExistingPendingDeletion(deletiondir)
 
1570
            osutils.ensure_empty_directory_exists(
 
1571
                deletiondir,
 
1572
                errors.ExistingPendingDeletion)
1577
1573
        except:
1578
1574
            tree.unlock()
1579
1575
            raise