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

Re: trunk and 1.6.x leaking errors

From: C. Michael Pilato <cmpilato_at_collab.net>
Date: Thu, 06 Aug 2009 13:00:44 -0400

C. Michael Pilato wrote:
> I noticed today that my 1.6.x client (built from the tip-o-the-branch) was
> leaking errors. (The tell-tale "Aborted" message at the end of an operation
> was a dead giveaway.) I tracked the leak to the function
> subversion/libsvn_client/commit_util.c:bail_on_tree_conflicted_ancestor(),
> which totally drops errors from both svn_wc__strictly_is_wc_root() and
> svn_wc_conflicted_p2(). (In this case, it was the former function that was
> returning the leaked error.) And I confirmed that the trunk code has the
> same problems.
> The naive fix, however (just wrapping these calls in SVN_ERR()) makes me
> think that doing this correctly requires more than mere naivety. A simple
> commit with said fix results in:
> subversion/libsvn_wc/update_editor.c:5147: (apr_err=150004)
> svn: '/home/cmpilato/tests' has no ancestry information

This turned out to be due to some weirdness in my directories.

I have /home/cmpilato under version control. I had /home/cmpilato/tests
scheduled for addition as a file. But /home/cmpilato/tests was a
*directory*. This was causing all kinds of confusing to the code in
Subversion which crawls upwards trying to identify working copy roots.

With that situation resolved, my testing shows no problems. Both trunk and
the 1.6.x branch pass 'make check' with the naive SVN_ERR()-wrapping fix in

C. Michael Pilato <cmpilato_at_collab.net>
CollabNet   <>   www.collab.net   <>   Distributed Development On Demand
Received on 2009-08-06 19:01:07 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.