If a checkout fails mid-way, or is interrupted, we have a 2 big problems. 1. The working copy is not "aware" that it's incomplete. An 'svn up' only repairs missing data because it notices that something is in its entries file but not on disk. But an incomplete checkout has an entries file that is downright *wrong*. If the entries file is missing data, the wc is screwed forevermore. An 'update' won't do a thing, because it has no idea what the proper entries list should be. Somehow, we need create working copies in an "invalid" state from birth; when the checkout truly finishes, the whole wc should be loggily shifted into "valid" state. 2. Once we accomplish point #1, it would be nice if we could somehow make failed checkouts "continue" from where they left off when the checkout is re-run. CVS is able to do this, and we can't. This is a design issue that needs discussion. In a nutshell, the svn client always assumes that it has a valid entries file, while the cvs client never trusts the entries file -- it says "I have these entries, what do I need?" ...Whereas svn will simply report nothing but diffs.