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

RE: svn info --recursive isn't reporting tree-conflict-only nodes

From: Bert Huijben <bert_at_qqmail.nl>
Date: Tue, 3 May 2011 18:02:22 +0200

> -----Original Message-----
> From: Hyrum K Wright [mailto:hyrum_at_hyrumwright.org]
> Sent: dinsdag 3 mei 2011 17:49
> To: Julian Foad
> Cc: Philip Martin; dev_at_subversion.apache.org
> Subject: Re: svn info --recursive isn't reporting tree-conflict-only nodes
>
> On Tue, May 3, 2011 at 10:19 AM, Julian Foad <julian.foad_at_wandisco.com>
> wrote:
> > On Tue, 2011-05-03 at 14:36 +0100, Philip Martin wrote:
> >> Julian Foad <julian.foad_at_wandisco.com> writes:
> >>
> >> > I found a bug in "svn info -R": it doesn't report a node that has a
tree
> >> > conflict but otherwise is nonexistent, except if this node is the
root
> >> > node of the requested target path.
> >>
> >> I think that's an actual-only node.  See
> >>
> >> http://subversion.tigris.org/issues/show_bug.cgi?id=3779
> >>
> >> which says that we need to ensure that commands behave sensibly on
> >> actual-only nodes.
> >
> > Yes.
> >
> > The 'info' code uses svn_wc__internal_walk_children(), and makes a
> > special case of checking for a tree conflict on the target node if that
> > walk function returns a NOT FOUND error.  But 'info' doesn't check for
> > tree conflicts on other unvisited leaf nodes that may exist as
> > actual-only nodes.
> >
> > One way or another, 'info' is going to have to walk a tree of nodes that
> > includes actual-only nodes.  It could either do this itself or we could
> > have a walker function that does that.  It's logically re-usable
> > functionality (even if 'info' is currently the only user) so we should
> > have some kind of walker function that does that.  So I'll look at
> > adding this functionality into svn_wc__internal_walk_children().
>
> That's my "gut feeling" as well. ACTUAL-only children are still
> children (in some sense), and should be included in the set of paths
> returned by a walk of the children.

In some ways it does, but then every callback has to start with a check 'is
this an actual only child?'

And most likely we forget that check in a dozen places, because it is so
unlikely to find these actual only children in test scenarios.

So the result will probably be that Subversion fails for end users...
because almost none of our functions accept these actual only children. (I
think only read_info with a conflict argument and the tree conflict
functions do)

        Bert
Received on 2011-05-03 18:02:56 CEST

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.