[MERGE] [BUG 363837] Catch _win32_delete_readonly failure to remove file or directory and try to recover

Maritza Mendez martitzam at gmail.com
Wed May 6 23:51:19 BST 2009


On Wed, May 6, 2009 at 2:01 AM, Alexander Belchenko <bialix at ukr.net> wrote:

> Maritza Mendez пишет:
>
>>
>>
>> On Tue, May 5, 2009 at 8:54 AM, Aaron Bentley <aaron at aaronbentley.com<mailto:
>> aaron at aaronbentley.com>> wrote:
>>
>>    -----BEGIN PGP SIGNED MESSAGE-----
>>    Hash: SHA1
>>
>>    Maritza Mendez wrote:
>>     > The more I think about this, the more I think that a cure may be
>>    worse
>>     > than the problem.  So I am leaning toward...
>>
>>     > bzr would catch the exception, print a polite message
>>     > about the external misbehavior, and just keep going.
>>
>>    I think that this would be fine, so long as it's an opt-in behaviour.
>>    If you do it as an onerror callback, note that problems may cascade,
>>    because failure to delete a file can cause failure to delete its
>>    containing directory.
>>
>>    Aaron
>>
>> I think it is "opt-in" enough to limit the response to catching  OSError
>> and ignoring all other exceptions.  What do you think?  At worst, bzr would
>> continue to miss some things it misses now.
>>
>> I have to remind myself that this whole discussion comes from the fact
>> that _win32_delete_readonly does not robustly handle failures in
>> osutils.rmtree call to shutil.rmtree.  Since that seems to be the whole
>> purpose of _win32_delete_readonly, I might suggest that osutils.rmtree and
>> _win32_delete_readonly do not meet design requirements.
>>
>
> Which one design requirements?
>
> The _win32_delete_readonly function intended to help in the cases where bzr
> need to remove file marked as read-only. Nothing more. There is special test
> in test_osutils.py to ensure this behavior.
>
>
Point  taken.  I have not seen any design document for bzr, unless email
archives count.  I'm just saying that the purpose of osutils.rmtree *appears
* to be to deal with files which are (for whatever reason) readonly on
Windows and need to be rendered into a removable state.  If that is the
(derived) requirement, then the current implemnatation is good, but not
foolproof, as we see.

-M
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.ubuntu.com/archives/bazaar/attachments/20090506/73021f34/attachment-0001.htm 


More information about the bazaar mailing list