Return-Path: X-Original-To: apmail-subversion-users-archive@minotaur.apache.org Delivered-To: apmail-subversion-users-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 3990E11A14 for ; Mon, 8 Sep 2014 14:25:41 +0000 (UTC) Received: (qmail 91774 invoked by uid 500); 8 Sep 2014 14:25:40 -0000 Delivered-To: apmail-subversion-users-archive@subversion.apache.org Received: (qmail 91742 invoked by uid 500); 8 Sep 2014 14:25:40 -0000 Mailing-List: contact users-help@subversion.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list users@subversion.apache.org Received: (qmail 91731 invoked by uid 99); 8 Sep 2014 14:25:40 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 08 Sep 2014 14:25:40 +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 (nike.apache.org: local policy) Received: from [98.138.229.32] (HELO nm39.bullet.mail.ne1.yahoo.com) (98.138.229.32) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 08 Sep 2014 14:25:12 +0000 Received: from [127.0.0.1] by nm39.bullet.mail.ne1.yahoo.com with NNFMP; 08 Sep 2014 14:25:10 -0000 Received: from [98.138.100.111] by nm39.bullet.mail.ne1.yahoo.com with NNFMP; 08 Sep 2014 14:22:26 -0000 Received: from [212.82.98.46] by tm100.bullet.mail.ne1.yahoo.com with NNFMP; 08 Sep 2014 14:22:25 -0000 Received: from [212.82.98.38] by tm7.bt.bullet.mail.ir2.yahoo.com with NNFMP; 08 Sep 2014 14:22:25 -0000 Received: from [127.0.0.1] by omp1007.bt.mail.ir2.yahoo.com with NNFMP; 08 Sep 2014 14:22:25 -0000 X-Yahoo-Newman-Property: ymail-4 X-Yahoo-Newman-Id: 627324.72686.bm@omp1007.bt.mail.ir2.yahoo.com Received: (qmail 16144 invoked by uid 60001); 8 Sep 2014 14:22:25 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=btopenworld.com; s=s1024; t=1410186145; bh=FG3UxcAmI0dv6pEbGoL4Fbz+NrSe8Z1I1jtdx9DSABc=; h=References:Message-ID:Date:From:Reply-To:Subject:To:Cc:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=Dlt6jRyrQXAsCSO2ZTYStN4S7fzWvMT2v56gGj59VSZRnJ8PJkNTyVDP65OHQ1ctavz53B3vdxImXVb6LrU2oGAS1nrMmwvUwzCPtVoaR4395lMV3hs5zGjJNbGSBNfKBM9O+30LXy90li+XxIweRzmLVx0YJHFyJRCchxXQIzo= X-YMail-OSG: FXscynAVM1ny.cHb.NqSJe8w3kJb19FadtoLm_Fopaowmb2 YYdMvN.Jbl9SRX2v_IG38SVRpRNgzjaLHnWf5LXhZ2CpQGiju9cIrGT9chmF AYjRpppny.7raQzf5CF4cAr8x9hIjK1d4SKcFyhc8NKfnzJA2sBZXwRG3M9z r5Pow.DmZjnKFUF6cN4Wla3rushS4go2ZBc5d5UoZojK22.VVJTPQ_PJIaSi qJn7PBugoPS14XfWwNVU7fI6LHyuoSfbC8dWD2kvTX_6eu1Mme820iv8QSZI 0qQhaC9crdHSW_GehoXVo19p.kcxmWwK62SBevbsxN6zsvOY_hpCTPpKnB2p 8kj8tFIumWBHWd3q6NqSeXczgdeSHBgglZBUBFAY4xlGu5nwIbSMlY8Lan_v KhE2yFWYLUWZk4gumFPhP8R0HdF6tpZjSbRSCAZKD9XtxmV71.eYwf9fWmQ9 CRYP__5MEbnZ.y8ANu_.UnKmuFEXqTZjQPdghF2E2dBINHi6ooLtBYtgVbUc EhTohTvUfFwWR_EiEh5D_Ir_5rN0zmHJ0nZbVnymVGwiqHTQkk70.WsgXHpN Qs22vaw4T36Mz8PA63TYGbBzSE9Uu Received: from [91.125.231.166] by web87704.mail.ir2.yahoo.com via HTTP; Mon, 08 Sep 2014 15:22:25 BST X-Rocket-MIMEInfo: 002.001,UGhpbGlwIE1hcnRpbiB3cm90ZToKPiBTZXJnZXkgQXphcmtldmljaCA8YXphcmtldmljaEBnbWFpbC5jb20.IHdyaXRlczoKPiAKPj7CoCBJIHNlZSBpbiBwcmUtY29tbWl0IGhvb2sgdGVtcGxhdGUgdGhhdCBjaGFuZ2luZyByZXZpc2lvbnMgcHJvcGVydGllcyBpbgo.PsKgIHRyYW5zYWN0aW9uIGFyZSBhbGxvd2VkLgo.PsKgIEJ1dCBJIGNhbid0IGZpbmQgd2F5IGZvciBpdCAoSSB3YW50IGNoYW5nZSBzdm46YXV0aG9yIHRvIG1vcmUgcmVhZGFibGUpLgo.PiAKPj7CoCBJcyBoZXJlIHdheSBmb3IgdGhpcyABMAEBAQE- X-Mailer: YahooMailWebService/0.8.203.696 References: <87d2b6w8e0.fsf@ntlworld.com> Message-ID: <1410186145.95737.YahooMailNeo@web87704.mail.ir2.yahoo.com> Date: Mon, 8 Sep 2014 15:22:25 +0100 From: Julian Foad Reply-To: Julian Foad Subject: Re: Change prevprops in pre-commit To: Philip Martin , Sergey Azarkevich Cc: users , "dev@subversion.apache.org" In-Reply-To: <87d2b6w8e0.fsf@ntlworld.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 Philip Martin wrote:=0A> Sergey Azarkevich writes:= =0A> =0A>>=A0 I see in pre-commit hook template that changing revisions pro= perties in=0A>>=A0 transaction are allowed.=0A>>=A0 But I can't find way fo= r it (I want change svn:author to more readable).=0A>> =0A>>=A0 Is here way= for this with svn, svnadmin, svnlook ... or other standard=0A>>=A0 tool? O= r I should use Subversion API and write simple tool?=0A> =0A> I think we sh= ould provide command line support for setting txnprops.=0A> The code is sim= ple enough, the iterface is a bit harder.=A0 There was was=0A> some debate = on IRC as to whether it should be=0A> =0A> =A0=A0 svnlook propset -t txn=0A= > =0A> or=0A> =0A> =A0=A0 svnadmin settxnprop -t txn=0A=0Aor=0A=0A=A0=A0 sv= nadmin setrevprop -t txn=0A=0Ais another reasonable option.=0A=0A> For svnl= ook it means adding a write subcommand to a program that at=0A> present is = read-only.=A0 If we add "-r REV" support to be consistent =0A> with=0A> oth= er subcommands then we would then need further options to run/bypass=0A> ho= oks. This would then overlap with the existing "svnadmin =0A> setrevprop".= =0A> =0A> For svnadmin it means that a pre-commit needs to use different pr= ograms=0A> for reading and writing txnprops rather than just using svnlook,= and the=0A> name new name "settxnprop" is a different pattern from the exi= sting=0A> "propget" name.=0A> =0A> We will probably need some way to delete= txnprops as well.=A0 There is=0A> currently a new-in-1.9 "svnadmin delrevp= rop" to delete revision=0A> properties, so either "svnlook propdel" or "svn= admin =0A> deltxnprop".=0A=0Aor, again, "svnadmin delrevprop -t TXN ...".= =0A=0A> Or perhaps the new subcommand to set txnprops should allow a way to= =0A> delete as well?=0A=0AFor reference, the rev-prop/txn-prop commands cur= rently available in 'svnadmin' and 'svnlook' are:=0A=0Asvnadmin=0A=A0=A0 se= tlog =A0 =A0 -r REV [--bypass-hooks] FILE=0A=A0=A0 setrevprop -r REV [--use= -pre|post-revprop-change-hook] NAME FILE=0A=A0=A0 delrevprop -r REV [--use-= pre|post-revprop-change-hook] NAME=A0 # new for 1.9=0A=0Asvnlook=0A=A0=A0 a= uthor=A0=A0 [-t TXN|-r REV]=0A=A0=A0 date =A0=A0=A0 [-t TXN|-r REV]=0A=A0= =A0 log=A0 =A0=A0=A0 [-t TXN|-r REV]=0A=A0=A0 propget=A0 [-t TXN|-r REV] --= revprop NAME=0A=A0=A0 proplist [-t TXN|-r REV] --revprop=0A=0ANotice that t= here is already a lot of inconsistency in the commands and their options.= =0A=0A'svnlook' has so far been read-only, as the name 'svnlook' implies. T= hat could change, although some people may be uncomfortable with that.=0A= =0AAn option to use or bypass the hooks is needed for commands that write t= o a rev-prop, but not applicable when writing to a txn-prop nor when readin= g any properties.=0A=0AThe 'svn' program can also read/write rev-props, but= it cannot access txn-props, and can't bypass the hooks.=0A=0ANote also tha= t the commands for setting and querying locks are distributed between 'svna= dmin' and 'svnlook' in a non-obvious way too. I mention this because locks = are another of the three=A0 main sorts of user data in a repository, along = with the versioned trees and rev-props. If we are going to make a decision = about the user interface for reading and writing revprops, we might want to= give some consideration to the UI for locks at the same time.=0A=0A- Julia= n=0A