Senthil,
This patch looks fine. +1 to commit that.
Please implement the similar behaviour for 'svnadmin load' too.
With regards
Kamesh Jayachandran
Senthil Kumaran S wrote:
> Hi Kamesh,
>
> Thanks for your comments. I am attaching an updated patch along with
> this email.
>
> [[[
> Fix issue #2982.
>
> Reflect dropped/renumbered revisions in modified svn:mergeinfo data
>
> * subversion/svndumpfilter/main.c
> (): Include svn_mergeinfo.h
> (parse_baton_t): Add skip_missing_merge_sources boolean for the new
> option
> (renumber_merge_source_rev_range): New function to renumber revs or
> skip
> missing merge sources in mergeinfo
> (set_node_property): If we have svn:mergeinfo then renumber
> revisions for
> valid merge sources in mergeinfo.
> (svn_opt_subcommand_t): Add --skip-missing-merge-sources option
> (options_table): Add description for --skip-missing-merge-sources
> option
> (cmd_table): Add the new option --skip-missing-merge-sources
> (svndumpfilter_opt_state): Add skip_missing_merge_sources boolean
> for the
> new option
> (parse_baton_initialize): Initialize skip_missing_merge_sources
> (main): Add svndumpfilter__skip_missing_merge_sources to switch case
>
> Patch by: Senthil Kumaran <senthil@collab.net>
> ]]]
>
> Thank You.
>
> --
> Senthil Kumaran S
> http://www.stylesen.org/
>
> Kamesh Jayachandran wrote:
>> Hi Senthil,
>>
>> >+/* Skip missing merge sources and renumber revision ranges in
>> mergeinfo. */
>>
>> Fix this doc string as it only conditionally skips 'missing merge
>> sources' i.e not a default behaviour.
>>
>> >+ else
>> >+ return svn_error_createf(SVN_ERR_INCOMPLETE_DATA, 0,
>> >+ _("Invalid merge source path '%s'"),
>> >+ (const char *)merge_source);
>>
>> You can give a hint about '--skip-missing-merge-sources', so that
>> user can reattempt the filter again.
>>
>>
>>
>> + if (strcmp(name, SVN_PROP_MERGE_INFO) == 0)
>> + {
>> + apr_pool_t *subpool = svn_pool_create(apr_hash_pool_get(rb->props));
>> + /* Skip missing merge sources and renumber mergeinfo revs. */
>> + const char *mergeinfo_val;
>> + SVN_ERR(renumber_merge_source_rev_range(&mergeinfo_val,
>> value->data, rb,
>> + subpool));
>> + value = svn_string_create(mergeinfo_val, subpool);
>> + svn_pool_destroy(subpool);
>>
>> Accessing 'value' beyond this point is problematic(that is precisely
>> what you do) as you have destroyed the pool.
>>
>>
>> With regards
>> Kamesh Jayachandran
>
> ------------------------------------------------------------------------
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: dev-help@subversion.tigris.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Nov 14 13:31:55 2007