On Tuesday, June 12, 2012, C. Michael Pilato wrote:
> On 06/10/2012 09:13 AM, Justin Erenkrantz wrote:
> > One question: what happens when the WC's pristine gets corrupted. That
> is,
> > we originally get the pristine properly, stash it in the local DB, but
> > something happens later and that file changes content due to corruption.
> >
> > Specifically:
> >
> > Do we detect this? (When installing the pristine, do we ensure it has the
> > proper checksum?)
>
> I look into this a few minutes ago. The changes made to ra_serf employ the
> same mechanism for *delivering* the cached content to the working copy as
> before. There's no "direct" WC->WC route taken here. ra_serf will read
> contents from the WC pristine cache instead of from the network, pushing
> those contents back into the WC via the regular update_editor just as in
> the
> network-source case. When editor->close_file() is called, checksum
> verification is performed (just as in the past).
Cool. Thanks for looking into this!
> > How does the user recover? Less of an issue when we have WC-specific
> > pristines, but itis more of an issue as we move towards global pristines.
>
> Recovery is a whole 'nuther topic. In the past, some recovery has been
> possible with 'svn update -r0 /path/to/messedup/file && svn cleanup && svn
> up'. Not sure that that is a guaranteed recovery recipe, though, and
> certainly not one that either the binary itself or any official user-facing
> documentation prescribes.
There were a few conversations last night that we should probably consider
creating a UI/command to do something about fixing up local corruption.
There are definite real-world reports of local WC corruption and folks
having such large WCs that a clean checkout would be quite painful.
Perhaps we should have a breakout session during the Hackathon this week
to brainstorm some ideas? -- justin
Received on 2012-06-12 08:22:58 CEST