<br><br><div class="gmail_quote">On Wed, May 6, 2009 at 2:01 AM, Alexander Belchenko <span dir="ltr">&lt;<a href="mailto:bialix@ukr.net" target="_blank">bialix@ukr.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

Maritza Mendez ÐÉÛÅÔ:<div><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
<br>
On Tue, May 5, 2009 at 8:54 AM, Aaron Bentley &lt;<a href="mailto:aaron@aaronbentley.com" target="_blank">aaron@aaronbentley.com</a> &lt;mailto:<a href="mailto:aaron@aaronbentley.com" target="_blank">aaron@aaronbentley.com</a>&gt;&gt; wrote:<br>


<br>
 š š-----BEGIN PGP SIGNED MESSAGE-----<br>
 š šHash: SHA1<br>
<br>
 š šMaritza Mendez wrote:<br>
 š š &gt; The more I think about this, the more I think that a cure may be<br>
 š šworse<br>
 š š &gt; than the problem. šSo I am leaning toward...<br>
<br>
 š š &gt; bzr would catch the exception, print a polite message<br>
 š š &gt; about the external misbehavior, and just keep going.<br>
<br>
 š šI think that this would be fine, so long as it&#39;s an opt-in behaviour.<br>
 š šIf you do it as an onerror callback, note that problems may cascade,<br>
 š šbecause failure to delete a file can cause failure to delete its<br>
 š šcontaining directory.<br>
<br>
 š šAaron <br>
<br>
I think it is &quot;opt-in&quot; 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.<br>
<br>
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.<br>


</blockquote>
<br></div>
Which one design requirements?<br>
<br>
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.<div><div></div><div>
<br></div></div></blockquote><div><br>Pointš taken.š I have not seen any design document for bzr, unless email archives count.š I&#39;m just saying that the purpose of osutils.rmtree <u>appears</u> 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.<br>

<br>-M<br><br></div></div>