On Fri, Mar 2, 2012 at 12:37 AM, Greg Stein <gst...@gmail.com> wrote: > Looks like this broke commit_test 26.
I'm trying to reproduce this, but to no avail. For reference, the bots give the following error: [[[ CMD: /var/lib/buildbot/svn-buildslave/svn-x64-ubuntu/build/subversion/svn/svn commit -m log svn-test-work/working_copies/commit_tests-26/wc1 svn-test-work/working_copies/commit_tests-26/wc2 --config-dir /var/lib/buildbot/svn-buildslave/svn-x64-ubuntu/build/subversion/tests/cmdline/svn-test-work/local_tmp/config --password rayjandom --no-auth-cache --username jrandom exited with 1 <TIME = 0.066730> subversion/svn/commit-cmd.c:183: (apr_err=155007) subversion/libsvn_client/commit.c:874: (apr_err=155007) subversion/libsvn_client/commit.c:874: (apr_err=155007) svn: E155007: Commit failed (details follow): subversion/libsvn_client/commit.c:681: (apr_err=155007) subversion/libsvn_client/commit.c:681: (apr_err=155007) subversion/libsvn_wc/wc_db.c:1560: (apr_err=155007) subversion/libsvn_wc/wc_db_wcroot.c:543: (apr_err=155007) ]]] My interpretation is that for this particular test, the commit is anchored at directory which is not itself part of a working copy, hence the reason for the above failure. However, I can't reproduce this failure. Not on the same box as the ubuntu buildslave, nor on a Mac OS box. This is somewhat troubling. > > On Thu, Mar 1, 2012 at 23:00, <hwri...@apache.org> wrote: >> Author: hwright >> Date: Fri Mar 2 04:00:26 2012 >> New Revision: 1296045 >> >> URL: http://svn.apache.org/viewvc?rev=1296045&view=rev >> Log: >> Ev2: Correct the way we calculate the anchor abspath when doing a commit. >> >> Current number of test failures over ra_svn: 483 >> >> * subversion/libsvn_client/commit.c >> (get_ra_editor): Calculate the anchor_abspath using the wcroot abspath. >>... >> +++ subversion/trunk/subversion/libsvn_client/commit.c Fri Mar 2 04:00:26 >> 2012 >> @@ -675,10 +675,14 @@ get_ra_editor(svn_ra_session_t **ra_sess >> if (base_dir_abspath) >> { >> const char *relpath; >> + const char *wcroot_abspath; >> + >> + SVN_ERR(svn_wc__get_wc_root(&wcroot_abspath, ctx->wc_ctx, >> + base_dir_abspath, pool, pool)); >> >> SVN_ERR(svn_ra_get_path_relative_to_root(*ra_session, &relpath, >> base_url, >> pool)); >> - anchor_abspath = svn_dirent_join(base_dir_abspath, relpath, pool); >> + anchor_abspath = svn_dirent_join(wcroot_abspath, relpath, pool); >> } >> else >> anchor_abspath = NULL; > > The relpath from the session is likely relative to the *session root*. > But then you use it in conjunction with the *working copy root*. Those > two roots could be different. > > For example: > session_root = http://host/some/repos/root/trunk/subdir > wcroot = http://host/some/repos/root/trunk > > So you could get a relpath from the session of "a/b", which is > supposed to be "subdir/a/b" relative to trunk (the wcroot). I'm not quite following you here. The wcroot is an abspath, no? -Hyrum -- uberSVN: Apache Subversion Made Easy http://www.uberSVN.com/