Return-Path: X-Original-To: apmail-subversion-dev-archive@minotaur.apache.org Delivered-To: apmail-subversion-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id D7DAD9F39 for ; Mon, 6 Feb 2012 20:03:27 +0000 (UTC) Received: (qmail 56016 invoked by uid 500); 6 Feb 2012 20:03:27 -0000 Delivered-To: apmail-subversion-dev-archive@subversion.apache.org Received: (qmail 55975 invoked by uid 500); 6 Feb 2012 20:03:26 -0000 Mailing-List: contact dev-help@subversion.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list dev@subversion.apache.org Received: (qmail 55968 invoked by uid 99); 6 Feb 2012 20:03:26 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 06 Feb 2012 20:03:26 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of gstein@gmail.com designates 209.85.212.43 as permitted sender) Received: from [209.85.212.43] (HELO mail-vw0-f43.google.com) (209.85.212.43) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 06 Feb 2012 20:03:21 +0000 Received: by vbbfq11 with SMTP id fq11so7582770vbb.16 for ; Mon, 06 Feb 2012 12:03:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=qlZqd3kA5aB+39EsTHPyl17gNWCAyx7K/pLtT0upbRU=; b=S7PeXkLVu/AmlQRqHraaPDJskN3u6U6OgoxOTuT7l11quNofs5w8nQfYPNYnrn0f3w rELotIhi1QAPuvPtjEtvaQRB6ilVo8gCtlUYS22jEGLnvbsvQ4yF2M+N+pqYHtthBdk4 1Fy9etxQT80srhYAtL007m2eSUGxUrRQM2mQw= MIME-Version: 1.0 Received: by 10.52.72.5 with SMTP id z5mr9441104vdu.63.1328558580559; Mon, 06 Feb 2012 12:03:00 -0800 (PST) Received: by 10.220.75.17 with HTTP; Mon, 6 Feb 2012 12:03:00 -0800 (PST) In-Reply-To: References: <20120206174836.DB1AC238889B@eris.apache.org> Date: Mon, 6 Feb 2012 15:03:00 -0500 Message-ID: Subject: Re: svn commit: r1241097 - in /subversion/trunk/subversion: libsvn_client/repos_diff.c libsvn_delta/compat.c libsvn_fs_base/tree.c libsvn_fs_fs/tree.c libsvn_wc/externals.c libsvn_wc/update_editor.c From: Greg Stein To: Hyrum K Wright Cc: dev@subversion.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On Mon, Feb 6, 2012 at 14:32, Hyrum K Wright wr= ote: > On Mon, Feb 6, 2012 at 1:28 PM, Greg Stein wrote: >> On Mon, Feb 6, 2012 at 12:48, =A0 wrote: >>> Author: hwright >>> Date: Mon Feb =A06 17:48:36 2012 >>> New Revision: 1241097 >>> >>> URL: http://svn.apache.org/viewvc?rev=3D1241097&view=3Drev >>> Log: >>> Ev2 shims: Truthfully report our base checksum as being that of the emp= ty >>> stream. >>> >>> Note: This breaks several assumptions in various delta-editor receivers= about >>> the validity of this checksum. =A0These have been patched to ignore the= checksum >>> if it is that of the empty stream. =A0This will not affect correctness,= as the >>> final checksum, as supplied by close_file() is still used to detect cor= ruption, >>> and it hasn't changed. >> >> How does this even work? Sure, the checksum isn't checked, but the >> delta-editor receiver is going to choose the wrong base contents to >> apply the delta against. > > Huh? =A0The delta-editor receiver isn't using this to choose any base > contents, it's simply using it as some kind of intermediate > verification step. > > Before this change, we just passed a NULL checksum, which was *always* > ignored, and everything Just Worked. =A0With this change, we started > being honest, and various pieces of the system didn't appreciate that > honesty. If the shim sends a delta against the empty-stream, then how can the Ev1 receiver properly apply that? Won't the receiver use some selected base contents? ie. NOT the empty stream? I'm thinking of the delta application to a base. How can that possibly work, if the shim creates a delta against the empty stream? Cheers, -g