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 24FF1104F3 for ; Thu, 4 Dec 2014 17:59:24 +0000 (UTC) Received: (qmail 2650 invoked by uid 500); 4 Dec 2014 17:59:23 -0000 Delivered-To: apmail-subversion-dev-archive@subversion.apache.org Received: (qmail 2583 invoked by uid 500); 4 Dec 2014 17:59:23 -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 2558 invoked by uid 99); 4 Dec 2014 17:59:23 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 04 Dec 2014 17:59:23 +0000 X-ASF-Spam-Status: No, hits=0.7 required=5.0 tests=RCVD_IN_DNSWL_NONE,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (athena.apache.org: local policy) Received: from [212.82.99.197] (HELO nm6-vm3.bt.bullet.mail.ir2.yahoo.com) (212.82.99.197) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 04 Dec 2014 17:59:17 +0000 Received: from [212.82.98.47] by nm6.bt.bullet.mail.ir2.yahoo.com with NNFMP; 04 Dec 2014 17:55:44 -0000 Received: from [212.82.98.39] by tm8.bt.bullet.mail.ir2.yahoo.com with NNFMP; 04 Dec 2014 17:55:44 -0000 Received: from [127.0.0.1] by omp1008.bt.mail.ir2.yahoo.com with NNFMP; 04 Dec 2014 17:55:44 -0000 X-Yahoo-Newman-Property: ymail-3 X-Yahoo-Newman-Id: 928122.95163.bm@omp1008.bt.mail.ir2.yahoo.com Received: (qmail 16010 invoked by uid 60001); 4 Dec 2014 17:55:44 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=btopenworld.com; s=s1024; t=1417715744; bh=mqZGZc8DPutT5g6W1wLVJeYhrzUDoqgXwc/BHxoeJzg=; h=References:Message-ID:Date:From:Reply-To:Subject:To:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=a+/vrPWui9UdMnQwqAUsLDixnVpS6QdV1jCqCa9S/nFMcEpFwBmqVB8hFrHvPiwAIeMBIhLMIWN0UpjjbDPvZrkgxEGq/jcTkJZSbqTjZqQkR4hiYLx3uNG1a/D57dp5FA3aoXpklvavcxZQ81kCvhXs60ghBfJARslZjs4bmZg= X-YMail-OSG: yqfIS1sVM1mKeP1AOcTWLbuFBeolcA79tOiaJ7uYN9rZl_h k19PeLx7ybU9sEt0C8F5Odkz.PL7TPY.evbul9.yQXwh14Yibl0bxc3AOhHp _xAYok21Cqmy8pytBAGFz3G2S0wKKCZpmzTrchB9nVKZ50S30Bh2pG9MIIkX D4L0xhB8c7Vm1QotUzSZ9jRum0DnV6B0TbWg_XwpfcHNFGJlA8sb56Cd04Sp 3BMmeffTi_GHL4zSeburd9jqnKQN4WMTEJdlNWI.th_VZWGaa44jKrZkcSRV c4fE_oWbN9NHDqpLYXdszzs_OBpddgY.uX5J7uixD8a6cR26c5WC76UvtpbZ _anzs5F9b2q8gAPVJP76I1Hp887zyN9kBSB8qAovu8cmlZvIAM4k6WX_T.5L J7bf1XiZcOlS1LBzv20cREupFR_VsAJsZhYOxQoBHBIWk.Bmu2WBcj4TGP3a CdDONrJNOuWGbIYUo7hFo5TG8bQAszxoTmFP99jObYxTk9SAspTomFGrvY_. MIP6QSvHtGBiQ65EVxrMm44uxnX.kSxWFNPWfKwBWcS31_bAimthfjIlNT67 FGJ9AWDycKEIqdbE7h6_na09XbqQLv4SprzSv_3XD0ZNF_LwZX1OKNVMqyxQ p1_kolTezErxmgWyQsbNTFuo5Oacd8qGTPmAWmunCsZIUr282KE.dD06qbNE - Received: from [87.113.63.215] by web87701.mail.ir2.yahoo.com via HTTP; Thu, 04 Dec 2014 17:55:44 GMT X-Rocket-MIMEInfo: 002.001,SnVsaWFuIEZvYWQgd3JvdGU6Cj4gaHR0cDovL3N1YnZlcnNpb24udGlncmlzLm9yZy9pc3N1ZXMvc2hvd19idWcuY2dpP2lkPTQ0NzYKWy4uLl0KPiBQUk9QT1NBTAo.IAo.IEluIHRoZSBwcmVzZW5jZSBvZiBhIG1lcmdlaW5mbyBwcm9wZXJ0eSB0aGF0IHJlZmVycyB0byByMCwgYXQgdGhlIGxpYnN2bl9yZXBvcyAKPiBBUEk6Cj4gCj4gJ2R1bXAnCj4gwqAgc2hhbGwgZHVtcCB0aGUgcHJvcGVydHkgdmVyYmF0aW0gKHdpdGggbm93YXJuaW5nKS4gKERvbmUuKQo.IAo.ICdsb2FkJywgd2l0aCAndmFsaWRhdGUBMAEBAQE- X-Mailer: YahooMailWebService/0.8.203.740 References: <1417537985.48137.YahooMailNeo@web87704.mail.ir2.yahoo.com> Message-ID: <1417715744.62760.YahooMailNeo@web87701.mail.ir2.yahoo.com> Date: Thu, 4 Dec 2014 17:55:44 +0000 From: Julian Foad Reply-To: Julian Foad Subject: Re: Issue #4476 - Mergeinfo containing r0 makes svnsync and svnadmin dump fail To: "dev@subversion.apache.org" In-Reply-To: <1417537985.48137.YahooMailNeo@web87704.mail.ir2.yahoo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org Julian Foad wrote:=0A> http://subversion.tigris.org/issues/show_bug.cgi?id= =3D4476=0A[...]=0A> PROPOSAL=0A> =0A> In the presence of a mergeinfo proper= ty that refers to r0, at the libsvn_repos =0A> API:=0A> =0A> 'dump'=0A> =A0= shall dump the property verbatim (with nowarning). (Done.)=0A> =0A> 'load'= , with 'validate properties' OFF and not adjusting =0A> revision numbers or= paths,=0A> =A0 shall load theproperty verbatim, and warn.=0A> =0A> 'load',= with 'validate properties' OFF and adjusting revision =0A> numbers or path= s,=0A> =A0 shall load the property verbatim (unadjusted), and warn.=0A> =0A= > 'load', with 'validate properties' ON,=0A> =A0 shall fail.=0A> =0A> And I= would say the same rules should apply to any property that fails the =0A> = validation rules.=0A> =0A> At the application layer:=0A> =0A> 'svnadmin dum= p' and 'svnadmin load'=0A> =A0 should behave the same as the repos layer.= =0A> =0A> Does that sound good as a fix that I can do now and back-port to = 1.8.x and =0A> 1.7.x?=0A=0AI have done this, and proposed it for backport t= o 1.7 and 1.8.=0A=0A(My fix adds a new enumeration constant to an enumerati= on type, for the warning. For back-porting, I renamed this constant to a do= uble-underscore name to indicate it's not for public use in the 1.7/1.8 API= s.)=0A=0A> I'll come to 'svnsync' later, but basically my current thought i= s it =0A> should 'correct' the mergeinfo by removing the r0 reference.=0A= =0AI have written a test for this, and hacked up code to do this by textual= substitution. It isn't quite right -- for example it would go wrong if a p= ath contained the character sequence ":0", among other issues. I ought to r= ewrite it in the form of a proper mergeinfo parser but one that is more len= ient than the regular parser.=0A=0AI also noticed that loading from a dump = file also modifies mergeinfo in other ways such as removing references to r= 1. I don't think is a good idea: I think there should be a way to load exac= tly what is in the dump. But that's a different, though related, issue.=0A= =0A- Julian