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

Re: [PATCH] print conflict statistics after update/merge

From: Daniel Shahaf <d.s_at_daniel.shahaf.name>
Date: Fri, 17 Oct 2008 20:14:23 +0200 (Jerusalem Standard Time)

Stefan Sperling wrote on Fri, 17 Oct 2008 at 18:40 +0100:
> On Fri, Oct 17, 2008 at 05:57:30PM +0200, Daniel Shahaf wrote:
> > > + if (nb->had_print_error)
> > > + return SVN_NO_ERROR;
> >
> > The docstring of 'had_print_error' says it's for error messages, not for
> > informational messages.
>
> That's not how it's being used.
> It's also used for messages like _("--- Merging differences between "
> "repository URLs into '%s':\n"),
>

Are we talking about the same thing? had_print_error in notify.c is
used in exactly one place in the code -- in the 'print_error' label:

     print_error:
      /* If we had no errors before, print this error to stderr. Else, don't print
         anything. The user already knows there were some output errors,
         so there is no point in flooding her with an error per notification. */
      if (!nb->had_print_error)
        {
          nb->had_print_error = TRUE;
          svn_handle_error2(err, stderr, FALSE, "svn: ");
        }
      svn_error_clear(err);

> > > @@ -305,7 +429,13 @@ notify(void *baton, const svn_wc_notify_t *n, apr_
> > > }
> > > }
> > > }
> > > + if ((err = print_conflict_stats(nb, pool)))
> > > + goto print_error;
> > > + /* Reset conflict stats. */
> > > + nb->text_conflicts = nb->prop_conflicts = nb->tree_conflicts
> > > + = nb->skipped_paths = 0;
> > > }
> > > +
> >
> > This is the block of svn_wc_notify_update_completed. Its docstring says
> > it also fires for externals. Have you tested with externals?
>
> No. But can externals, by definition, have conflicts?

Yes:

    % svn ps svn:externals "^/trunk/A A2" .
    property 'svn:externals' set on '.'

    % svn up

    Fetching external item into 'A2'
    A A2\B
    A A2\B\lambda
    A A2\B\E
    A A2\B\E\alpha
    A A2\B\E\beta
    A A2\B\F
    A A2\mu
    A A2\C
    A A2\D
    A A2\D\gamma
    A A2\D\G
    A A2\D\G\pi
    A A2\D\G\rho
    A A2\D\G\tau
    A A2\D\H
    A A2\D\H\chi
    A A2\D\H\omega
    A A2\D\H\psi
    Updated external to revision 1.

    Updated to revision 1.

    % cd A2

    % svn rm mu
    D mu

    % cd..

    % echo foo >> A\mu

    % svn ci A -mr2
    Sending A\mu
    Transmitting file data .
    Committed revision 2.

    % svn up

    Fetching external item into 'A2'
    U A2\mu
    C A2
    Updated external to revision 2.

    Updated to revision 2.

    %

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-10-17 20:14:44 CEST

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