On Wed, Jan 11, 2012 at 10:21 AM, Bert Huijben <bert_at_qqmail.nl> wrote:
>> -----Original Message-----
>> From: Paul Burba [mailto:ptburba_at_gmail.com]
>> Sent: woensdag 11 januari 2012 16:14
>> To: dev_at_subversion.apache.org; Bert Huijben
>> Cc: commits_at_subversion.apache.org
>> Subject: Re: svn commit: r1229980 -
>> /subversion/trunk/subversion/libsvn_wc/externals.c
>>
>> On Wed, Jan 11, 2012 at 7:29 AM, <rhuijben_at_apache.org> wrote:
>> > Author: rhuijben
>> > Date: Wed Jan 11 12:29:49 2012
>> > New Revision: 1229980
>> >
>> > URL: http://svn.apache.org/viewvc?rev=1229980&view=rev
>> > Log:
>> > * subversion/libsvn_wc/externals.c
>> > (close_file): Following up on r1229975, read the right set of properties in
>> > each variable. Use had_props to avoid an unneeded database transaction
>> in
>> > some cases.
>> >
>> > Modified:
>> > subversion/trunk/subversion/libsvn_wc/externals.c
>> >
>> > Modified: subversion/trunk/subversion/libsvn_wc/externals.c
>> > URL:
>> http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/exte
>> rnals.c?rev=1229980&r1=1229979&r2=1229980&view=diff
>> >
>> ==========================================================
>> ====================
>> > --- subversion/trunk/subversion/libsvn_wc/externals.c (original)
>> > +++ subversion/trunk/subversion/libsvn_wc/externals.c Wed Jan 11
>> 12:29:49 2012
>> > @@ -621,11 +621,13 @@ close_file(void *file_baton,
>> > {
>> > new_checksum = eb->original_checksum;
>> >
>> > - SVN_ERR(svn_wc__db_base_get_props(&actual_props, eb->db,
>> > - eb->local_abspath, pool, pool));
>> > - SVN_ERR(svn_wc__db_read_pristine_props(&base_props, eb->db,
>> > - eb->local_abspath,
>> > - pool, pool));
>> > + if (eb->had_props)
>> > + SVN_ERR(svn_wc__db_base_get_props(&base_props, eb->db,
>> > + eb->local_abspath,
>> > + pool, pool));
>>
>>
>> Hi Bert,
>>
>> Why did you replace svn_wc__db_read_pristine_props with
>> svn_wc__db_base_get_props here? The log message doesn't touch upon
>> why you did. It might be obvious to those with strong wcng-fu, but
>> I'm a bit puzzled :-)
>
> File externals are always stored in op_depth 0 (BASE) as they can't be replaced/shadowed by higher level nodes.
>
> So simply to avoid checking the higher layers for no use, I used the BASE specific functions. (All update/switch operations operate on op_depth 0)
Understood, thanks for the quick response. I updated my vote for this
group in the 1.7.3 backport.
Paul
> Bert
>>
>> Paul
>>
>>
>> > + SVN_ERR(svn_wc__db_read_props(&actual_props, eb->db,
>> > + eb->local_abspath, pool, pool));
>> > }
>> >
>> > if (!base_props)
>> >
>> >
>
Received on 2012-01-11 16:33:23 CET