"Ben Collins-Sussman" <sussman@red-bean.com> writes:
> Here's a patch in progress, not yet committed, which displays multiple
> merge-range notifications during a merge.
Looks good!
> So, as a stopgap, I've hacked a function in svntest to just filter out
> such lines... and now most tests are passing again. In a separate
> change, I guess I'll fix all the tests.
Fix by making them use the parse testing method? It does sound
like a better approach.
> Index: subversion/libsvn_client/merge.c
> ===================================================================
> --- subversion/libsvn_client/merge.c (revision 24986)
> +++ subversion/libsvn_client/merge.c (working copy)
> @@ -1865,8 +1865,6 @@
> may create holes in range to merge. Loop over the revision
> ranges we have left to merge, getting an editor for each range,
> and applying its delta. */
> - /* ### FIXME: Handle notification callbacks for multiple merges into
> - ### a single versioned resource. */
> for (i = 0; i < remaining_ranges->nelts; i++)
> {
> /* When using this merge range, account for the exclusivity of
> @@ -1875,6 +1873,14 @@
> svn_merge_range_t *r = APR_ARRAY_IDX(remaining_ranges, i,
> svn_merge_range_t *);
>
> + /* ### TODO(sussman): should this whole for loop be using a
> + cleared subpool?? */
Yes! I don't want to have to go on another memory saving spree
like i had to a couple years ago ;->.
> @@ -2211,6 +2215,14 @@
> svn_merge_range_t *r = APR_ARRAY_IDX(remaining_ranges, i,
> svn_merge_range_t *);
>
> + /* ### TODO(sussman): should this whole for loop be using a
> + cleared subpool?? */
nod
> Index: subversion/svn/notify.c
> ===================================================================
> --- subversion/svn/notify.c (revision 24986)
> +++ subversion/svn/notify.c (working copy)
> @@ -410,6 +410,18 @@
> svn_error_clear(n->err);
> break;
>
> + case svn_wc_notify_merge_begin:
> + if (n->merge_range->start == n->merge_range->end)
> + err = svn_cmdline_printf(pool, _("--- Merging revision %ld to
> '%s':\n"),
> + n->merge_range->start, path_local);
> + else
> + err = svn_cmdline_printf(pool, _("--- Merging revisions
> %ld-%ld to '%s':\n"),
> + n->merge_range->start, n->merge_range->end,
> + path_local);
I mostly like this format. What is path_local with the implicit
. (e.g. 'svn merge -r5:8 URL')? Is it "" or "."? And maybe
"into" instead of "to".
--
Eric Gillespie <*> epg@pretzelnet.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri May 11 06:43:47 2007