Philip Martin <philip@codematters.co.uk> writes:
> I tried a few things in gdb, the current code does appear to be
> reasonably robust. I don't remember the May problem in detail, but I
> think it applied to the code before the restartable checkout changes.
> If that's the case then I think it is reasonable to assume that those
> changes have eliminated the problem.
Yes, that was my conclusion too, after re-reading lots of wc code.
The 'incomplete' flag has had a side-effect of making the wc more
robust overall -- allowing it to 'heal' itself much more easily.
> > But I *do* see a a problem in the update-editor's close_dir(), where
> > we're immediately marking a directory 'complete', yet taking no
> > steps to remove *any* dead entries at all. I think that's the real
> > problem that needs addressing.
>
> Yes, that does go wrong. An interrupted update can end up with extra
> entries, ones for which there are no items in the working copy and
> which don't correspond to repository items. Status shows such extra
> items as missing, and update will remove them. That behavior is not
> too bad, it may even be acceptable.
Well, I just fixed it in r7197. :-)
> It looks reasonable. There is still this corner case
>
> $ svnadmin create repo
> $ svn co file://`pwd`/repo wc
> $ svn mkdir wc/foo
> $ rm -rf wc/foo # not svn rm
> $ svn up wc
> D wc/foo
>
> Update shouldn't really delete the foo entry. I don't think this is a
> particularly serious problem, it barely qualifies as a bug.
Ah! I think one of Brian Denny's patches (posted in the issue)
actually addresses this problem. It's easy to fix... I'll do it now.
Once that's done, I'll close #1075 for good.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Sep 26 15:45:51 2003