From dev-return-4361-daniel=haxx.se@subversion.apache.org Wed Jun 16 15:33:39 2010 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on giant.haxx.se X-Spam-Level: X-Spam-Status: No, score=-4.5 required=3.0 tests=BAYES_00,DS_FRIEND, T_RP_MATCHES_RCVD autolearn=ham version=3.3.1 Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o5GDXcrD023958 for ; Wed, 16 Jun 2010 15:33:38 +0200 Received: (qmail 44495 invoked by uid 500); 16 Jun 2010 13:33:29 -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 44485 invoked by uid 99); 16 Jun 2010 13:33:28 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 16 Jun 2010 13:33:28 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS Received-SPF: pass (nike.apache.org: domain of cmpilato@collab.net designates 204.16.106.198 as permitted sender) Received: from [204.16.106.198] (HELO sp-exchfea.sp.corp.collab.net) (204.16.106.198) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 16 Jun 2010 13:33:22 +0000 Received: from [192.168.0.102] ([174.108.52.37]) by sp-exchfea.sp.corp.collab.net with Microsoft SMTPSVC(6.0.3790.3959); Wed, 16 Jun 2010 06:33:00 -0700 Message-ID: <4C18D28A.40301@collab.net> Date: Wed, 16 Jun 2010 09:32:58 -0400 From: "C. Michael Pilato" Organization: CollabNet, Inc. User-Agent: Thunderbird 2.0.0.24 (X11/20100317) MIME-Version: 1.0 To: Philip Martin CC: dev@subversion.apache.org Subject: Re: revprop changes and hooks References: <87d3w1olqu.fsf@stat.home.lan> <4C0E7E00.70903@collab.net> <878w6po10e.fsf@stat.home.lan> <87typ4d834.fsf@stat.home.lan> In-Reply-To: <87typ4d834.fsf@stat.home.lan> X-Enigmail-Version: 0.96.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enig9AD3E6629C51C96F2A70A820" X-OriginalArrivalTime: 16 Jun 2010 13:33:00.0339 (UTC) FILETIME=[70598830:01CB0D58] X-Virus-Checked: Checked by ClamAV on apache.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Wed, 16 Jun 2010 15:33:39 +0200 (CEST) X-Friend: Friend --------------enig9AD3E6629C51C96F2A70A820 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Philip Martin wrote: > Philip Martin writes: >=20 >> Multiple clients. It arises from my idea to solve issue 3546 >> >> http://subversion.tigris.org/issues/show_bug.cgi?id=3D3546 >> >> In svn_repos_fs_change_rev_prop3 the code first gets the old property >> value which it uses to calculate the action: 'A', 'M' or 'D'. Then it >> passes the action to the pre-revprop-change hook, then it changes the >> property and finally it runs the post-revprop-change hook. Some other= >> process can change the revprop at any time so although the >> pre-revprop-change hook might get passed an 'A' say, when the change >> is made it could be effectively an 'M'. The action passed to the hook= >> is not a reliable indication of the change to be made. >> >> Putting the get, pre hook and set into a transaction would allow the >> action in the hook to accurately reflect the change made (or not made >> if the transaction fails). >=20 > We don't need a new transaction to fix this, we can rev the > svn_fs_change_rev_prop interface instead: >=20 > svn_error_t * > svn_fs_change_rev_prop(svn_fs_t *fs, > svn_revnum_t rev, > const char *name, > const svn_string_t *value, > apr_pool_t *pool); I'm late to the party, here, but wanted to affirm this decision: nice wa= y to solve the problem, Philip. --=20 C. Michael Pilato CollabNet <> www.collab.net <> Distributed Development On Demand --------------enig9AD3E6629C51C96F2A70A820 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEARECAAYFAkwY0ooACgkQokEGqRcG/W6hyACcDYrQhKR+7EQiGdHIPC/QeEpJ nwoAmwfxHrdBsHd9NhlHawabAluhOP1v =/Sll -----END PGP SIGNATURE----- --------------enig9AD3E6629C51C96F2A70A820--