On Sat, Jun 16, 2012 at 3:42 PM, Greg Stein <gstein_at_gmail.com> wrote:
>
> On Jun 15, 2012 10:44 PM, <ivan_at_apache.org> wrote:
>>...
>
>
>> +++ subversion/trunk/subversion/libsvn_client/repos_diff.c Fri Jun 15
>> 20:44:00 2012
>> ...
>
>> @@ -1101,17 +1099,28 @@ close_directory(void *dir_baton,
>>
>> scratch_pool = b->pool;
>>
>> - if (!b->added && b->propchanges->nelts > 0)
>> - remove_non_prop_changes(b->pristine_props, b->propchanges);
>> + if (b->added)
>> + {
>> + pristine_props = eb->empty_hash;
>> + }
>> + else
>> + {
>> + SVN_ERR(svn_ra_get_dir2(eb->ra_session, NULL, NULL,
>> &pristine_props,
>> + b->path, b->base_revision, 0,
>> scratch_pool));
>> + }
>> +
>> + if (b->propchanges->nelts > 0)
>> + {
>> + remove_non_prop_changes(pristine_props, b->propchanges);
>> + }
>
> Shouldn't the remove_non_prop_changes() be moved into the else block? That
> would be the same as before, and there is no need to try and remove stuff
> from an empty hash.
>
remove_non_prop_changes() removes the changes from propchanges list,
not from pristine cache.
--
Ivan Zhakov
Received on 2012-06-16 23:59:09 CEST