[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Why do we check the base checksum so often?

From: C. Michael Pilato <cmpilato_at_collab.net>
Date: Mon, 6 Feb 2012 16:02:35 -0500

On 02/06/2012 03:54 PM, Hyrum K Wright wrote:
> On Mon, Feb 6, 2012 at 2:49 PM, Greg Stein <gstein_at_gmail.com> wrote:
>> On Mon, Feb 6, 2012 at 15:44, C. Michael Pilato <cmpilato_at_collab.net> wrote:
>>> On 02/06/2012 03:41 PM, Greg Stein wrote:
>>>> That is certainly an easier approach. "You use the old interface?
>>>> Fine. You won't get base checksum verification cuz we'll always pass
>>>> NULL." ... that seems like a fine position to take.
>>>
>>> This might be a fine position to take for some third-party consumer of the
>>> APIs, but I hope you aren't advocating that we toss out such a core data
>>> integrity check within Subversion itself. Are you?
>>
>> Theoretically, we'll be converted over to Ev2 and the compatibility
>> shim will not be used in our product. Only third-parties who choose to
>> stick to the old Ev1 (delta editor) interfaces will lose the integrity
>> check.
>
> And I'll note that the base checksum check is superfluous, as the
> resulting contents check is still valid and being performed.

That alone doesn't make the check superfluous. To make such a claim, you
must demonstrate that the only service such a check provides is toward the
integrity of the resulting contents. But I believe you'll find that it is
primarily used to avoid even attempting the application of a text delta to a
base which is already corrupt, a service which cannot be offered by the
other checksum, *especially* in the scenarios it is employed by your shim
(where the text delta will blindly overwrite whatever previous text was
associated with the file because it is not, in fact, a true delta at all).

-- 
C. Michael Pilato <cmpilato_at_collab.net>
CollabNet   <>   www.collab.net   <>   Distributed Development On Demand

Received on 2012-02-06 22:03:22 CET

This is an archived mail posted to the Subversion Dev mailing list.