On Wed, Jan 11, 2012 at 10:21 AM, Bert Huijben <b...@qqmail.nl> wrote: >> -----Original Message----- >> From: Paul Burba [mailto:ptbu...@gmail.com] >> Sent: woensdag 11 januari 2012 16:14 >> To: dev@subversion.apache.org; Bert Huijben >> Cc: comm...@subversion.apache.org >> Subject: Re: svn commit: r1229980 - >> /subversion/trunk/subversion/libsvn_wc/externals.c >> >> On Wed, Jan 11, 2012 at 7:29 AM, <rhuij...@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) >> > >> > >