[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit: r27817 - trunk/subversion/svndumpfilter

From: Kamesh Jayachandran <kamesh_at_collab.net>
Date: 2007-11-16 13:24:08 CET

> +
> + /* Renumber mergeinfo rangelist. */
> + for (i = 0; i < ((apr_array_header_t *)rangelist)->nelts; i++)
> + {
> + struct revmap_t *revmap_start;
> + struct revmap_t *revmap_end;
> + svn_merge_range_t *range;
> +
> + range = APR_ARRAY_IDX((apr_array_header_t *)rangelist, i,
> + svn_merge_range_t *);
> + revmap_start = apr_hash_get(rb->pb->renumber_history, &range->start,
> + sizeof(svn_revnum_t));
> + revmap_end = apr_hash_get(rb->pb->renumber_history, &range->end,
> + sizeof(svn_revnum_t));
> + range->start = revmap_start->rev;
> + range->end = revmap_end->rev;
> + }
>
>
This can be faulty, Consider the following scenario,
/src has changes in r84, r89, r92
/target has a mergeinfo of
/src:85-100 (That is it still has r84 *unmerged*)
/drop is deleted at r85

When we run it on a dump which exclues '/drop', the mergeinfo
/src:85-100 would get changed to /src:renum(85)-renum(100)

renum(85) is rev corresponding to r84(which is a last live revision) and
hence it will be faulty enough to have r84 merged.

We need error out if 'revmap_start->was_dropped' unless user invokes
with the 'skip' option, then we need to skip this merge range.

This makes me to think we should rename the skip option to
'--skip-missing-merges' instead of '--skip-missing-merge-sources'.

With regards
Kamesh Jayachandran

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Nov 16 13:23:54 2007

This is an archived mail posted to the Subversion Dev mailing list.