220
/* If the mergeinfo in MERGEINFO_STR refers to any revisions older than
221
* OLDEST_DUMPED_REV, issue a warning and set *FOUND_OLD_MERGEINFO to TRUE,
222
* otherwise leave *FOUND_OLD_MERGEINFO unchanged.
225
verify_mergeinfo_revisions(svn_boolean_t *found_old_mergeinfo,
226
const char *mergeinfo_str,
227
svn_revnum_t oldest_dumped_rev,
228
svn_repos_notify_func_t notify_func,
232
svn_mergeinfo_t mergeinfo, old_mergeinfo;
234
SVN_ERR(svn_mergeinfo_parse(&mergeinfo, mergeinfo_str, pool));
235
SVN_ERR(svn_mergeinfo__filter_mergeinfo_by_ranges(
236
&old_mergeinfo, mergeinfo,
237
oldest_dumped_rev - 1, 0,
240
if (apr_hash_count(old_mergeinfo))
242
svn_repos_notify_t *notify =
243
svn_repos_notify_create(svn_repos_notify_warning, pool);
245
notify->warning = svn_repos_notify_warning_found_old_mergeinfo;
246
notify->warning_str = apr_psprintf(
248
_("Mergeinfo referencing revision(s) prior "
249
"to the oldest dumped revision (r%ld). "
250
"Loading this dump may result in invalid "
254
if (found_old_mergeinfo)
255
*found_old_mergeinfo = TRUE;
256
notify_func(notify_baton, notify, pool);
220
263
/* This helper is the main "meat" of the editor -- it does all the
221
264
work of writing a node record.
475
518
SVN_PROP_MERGEINFO);
476
519
if (mergeinfo_str)
478
svn_mergeinfo_t mergeinfo, old_mergeinfo;
480
SVN_ERR(svn_mergeinfo_parse(&mergeinfo, mergeinfo_str->data,
482
SVN_ERR(svn_mergeinfo__filter_mergeinfo_by_ranges(
483
&old_mergeinfo, mergeinfo,
484
eb->oldest_dumped_rev - 1, 0,
486
if (apr_hash_count(old_mergeinfo))
488
svn_repos_notify_t *notify =
489
svn_repos_notify_create(svn_repos_notify_warning, pool);
491
notify->warning = svn_repos_notify_warning_found_old_mergeinfo;
492
notify->warning_str = apr_psprintf(
494
_("Mergeinfo referencing revision(s) prior "
495
"to the oldest dumped revision (r%ld). "
496
"Loading this dump may result in invalid "
498
eb->oldest_dumped_rev);
500
if (eb->found_old_mergeinfo)
501
*eb->found_old_mergeinfo = TRUE;
502
eb->notify_func(eb->notify_baton, notify, pool);
521
/* An error in verifying the mergeinfo must not prevent dumping
522
the data. Ignore any such error. */
523
svn_error_clear(verify_mergeinfo_revisions(
524
eb->found_old_mergeinfo,
525
mergeinfo_str->data, eb->oldest_dumped_rev,
526
eb->notify_func, eb->notify_baton,