You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Greg Stein <gs...@gmail.com> on 2009/08/07 16:45:55 UTC

Re: svn commit: r38259 - in trunk/subversion: include libsvn_wc

On Tue, Jun 30, 2009 at 07:02, Hyrum K. Wright<hy...@hyrumwright.org> wrote:
>...
> +++ trunk/subversion/libsvn_wc/status.c Mon Jun 29 22:02:58 2009        (r38259)
>...
> @@ -628,11 +632,11 @@ collect_ignore_patterns(apr_array_header
>     }
>
>   /* Then add any svn:ignore globs to the PATTERNS array. */
> -  SVN_ERR(svn_wc_prop_get(&value, SVN_PROP_IGNORE,
> -                          svn_wc_adm_access_path(adm_access), adm_access,
> -                          pool));
> +  SVN_ERR(svn_wc__internal_propget(&value, SVN_PROP_IGNORE, local_abspath, db,
> +                                   result_pool, scratch_pool));

Hmm. Just noticed the db/abspath pair is reversed on this function.

Also: you can fetch that into scratch_pool, since you're splitting
into the result_pool.

>...
> @@ -852,14 +856,18 @@ get_dir_status(struct edit_baton *eb,
>  {
>   apr_hash_t *entries;
>   apr_hash_index_t *hi;
> +  svn_wc__db_t *db = svn_wc__adm_get_db(adm_access);
>   const svn_wc_entry_t *dir_entry;
>   const char *path = svn_wc_adm_access_path(adm_access);
> +  const char *local_abspath;
>   apr_hash_t *dirents;
>   apr_array_header_t *patterns = NULL;
>   apr_pool_t *iterpool, *subpool = svn_pool_create(pool);
>   apr_array_header_t *tree_conflicts;
>   int j;
>
> +  SVN_ERR(svn_dirent_get_absolute(&local_abspath, path, pool));

or: local_abspath = svn_wc__adm_access_abspath(adm_access);

always there. no extra memory, time, or I/O needed.

>...
> @@ -2358,16 +2368,19 @@ svn_wc_dup_status2(const svn_wc_status2_
>   return new_stat;
>  }
>
> -
>  svn_error_t *
> -svn_wc_get_ignores(apr_array_header_t **patterns,
> -                   apr_hash_t *config,
> -                   svn_wc_adm_access_t *adm_access,
> -                   apr_pool_t *pool)
> +svn_wc_get_ignores2(apr_array_header_t **patterns,
> +                    svn_wc_context_t *wc_ctx,
> +                    const char *local_abspath,
> +                    apr_hash_t *config,
> +                    apr_pool_t *result_pool,
> +                    apr_pool_t *scratch_pool)
>  {
>   apr_array_header_t *default_ignores;
>
> -  SVN_ERR(svn_wc_get_default_ignores(&default_ignores, config, pool));
> -  return collect_ignore_patterns(patterns, default_ignores, adm_access,
> -                                 pool);
> +  SVN_ERR(svn_wc_get_default_ignores(&default_ignores, config, scratch_pool));
> +  return svn_error_return(collect_ignore_patterns(patterns, wc_ctx->db,
> +                                                  local_abspath,
> +                                                  default_ignores,
> +                                                  result_pool, scratch_pool));
>  }
>
> ------------------------------------------------------
> http://subversion.tigris.org/ds/viewMessage.do?dsForumId=495&dsMessageId=2366607
>

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2381375


Re: svn commit: r38259 - in trunk/subversion: include libsvn_wc

Posted by "Hyrum K. Wright" <hy...@hyrumwright.org>.
On Aug 7, 2009, at 11:45 AM, Greg Stein wrote:

> On Tue, Jun 30, 2009 at 07:02, Hyrum K.  
> Wright<hy...@hyrumwright.org> wrote:
>> ...
>> +++ trunk/subversion/libsvn_wc/status.c Mon Jun 29 22:02:58  
>> 2009        (r38259)
>> ...
>> @@ -628,11 +632,11 @@ collect_ignore_patterns(apr_array_header
>>     }
>>
>>   /* Then add any svn:ignore globs to the PATTERNS array. */
>> -  SVN_ERR(svn_wc_prop_get(&value, SVN_PROP_IGNORE,
>> -                          svn_wc_adm_access_path(adm_access),  
>> adm_access,
>> -                          pool));
>> +  SVN_ERR(svn_wc__internal_propget(&value, SVN_PROP_IGNORE,  
>> local_abspath, db,
>> +                                   result_pool, scratch_pool));
>
> Hmm. Just noticed the db/abspath pair is reversed on this function.

Parameter ordering fixed in r38622.

> Also: you can fetch that into scratch_pool, since you're splitting
> into the result_pool.
>
>> ...
>> @@ -852,14 +856,18 @@ get_dir_status(struct edit_baton *eb,
>>  {
>>   apr_hash_t *entries;
>>   apr_hash_index_t *hi;
>> +  svn_wc__db_t *db = svn_wc__adm_get_db(adm_access);
>>   const svn_wc_entry_t *dir_entry;
>>   const char *path = svn_wc_adm_access_path(adm_access);
>> +  const char *local_abspath;
>>   apr_hash_t *dirents;
>>   apr_array_header_t *patterns = NULL;
>>   apr_pool_t *iterpool, *subpool = svn_pool_create(pool);
>>   apr_array_header_t *tree_conflicts;
>>   int j;
>>
>> +  SVN_ERR(svn_dirent_get_absolute(&local_abspath, path, pool));
>
> or: local_abspath = svn_wc__adm_access_abspath(adm_access);
>
> always there. no extra memory, time, or I/O needed.
>
>> ...
>> @@ -2358,16 +2368,19 @@ svn_wc_dup_status2(const svn_wc_status2_
>>   return new_stat;
>>  }
>>
>> -
>>  svn_error_t *
>> -svn_wc_get_ignores(apr_array_header_t **patterns,
>> -                   apr_hash_t *config,
>> -                   svn_wc_adm_access_t *adm_access,
>> -                   apr_pool_t *pool)
>> +svn_wc_get_ignores2(apr_array_header_t **patterns,
>> +                    svn_wc_context_t *wc_ctx,
>> +                    const char *local_abspath,
>> +                    apr_hash_t *config,
>> +                    apr_pool_t *result_pool,
>> +                    apr_pool_t *scratch_pool)
>>  {
>>   apr_array_header_t *default_ignores;
>>
>> -  SVN_ERR(svn_wc_get_default_ignores(&default_ignores, config,  
>> pool));
>> -  return collect_ignore_patterns(patterns, default_ignores,  
>> adm_access,
>> -                                 pool);
>> +  SVN_ERR(svn_wc_get_default_ignores(&default_ignores, config,  
>> scratch_pool));
>> +  return svn_error_return(collect_ignore_patterns(patterns, wc_ctx- 
>> >db,
>> +                                                  local_abspath,
>> +                                                  default_ignores,
>> +                                                  result_pool,  
>> scratch_pool));
>>  }

Other comments addressed in r38623 (despite the initially bogus log  
message).

-Hyrum

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2381419