Reachable abort() in 'svn merge'.
From: Karl Fogel <kfogel_at_red-bean.com>
Date: Sat, 05 Apr 2008 11:56:22 -0400
Paul Burba found a way to reach an abort() from 'svn merge'. He posted
$ svn co -r30328 http://svn.collab.net/repos/svn/branches/1.5.x wc
It's in libsvn_client/merge.c:calculate_left_hand_side(), here:
/* We only got here because we had mergeinfo for the source; if
In IRC just now, Paul made these comments
<pburba> kfogel: It looks like this will occur anytime you copy A to
<pburba> kfogel: B has no explicit mergeinfo from A, so once we
It seems to me Paul is closer to fixing it than I am to finishing this
Below are some things I found poking around quickly in GDB, before he
(gdb) p ((svn_ra_neon__session_t *) (ra_session->priv))->url->data
So the session is rooted at the repository root, as it should be. Good.
(gdb) p have_mergeinfo_for_source
Notice how source_repos_rel_path doesn't start with slash, even though
And here we see that source_mergeinfo has count == 0:
(gdb) p *source_mergeinfo
Meanwhile, there are two segments:
(gdb) p *segments
So yeah, the 'return' inside the for-loop just before the abort() will
rangelist = apr_hash_get(source_mergeinfo,
will never retrieve a non-NULL rangelist.
-Karl
---------------------------------------------------------------------
|
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.