On Wed, Mar 31, 2010 at 4:29 PM, Hyrum K. Wright <hyrum_wri...@mail.utexas.edu> wrote: > On Wed, Mar 31, 2010 at 1:01 PM, Hyrum K. Wright < > hyrum_wri...@mail.utexas.edu> wrote: > >> 1.6.10 tarballs are up, the magic revision is r929659: >> >> http://orac.ece.utexas.edu/pub/svn/1.6.10/ >> >> Download, test, sign and send your sigs back to me. (And don't even think >> about declaring this as "released" until I say so, for reasons I won't >> expound upon here.) >> > > Update: Somebody (read: me) didn't run the bindings tests before rolling the > tarball. There are a few binding test failures, one in the ruby bindings, > another couple in the JavaHL tests. We're investigating those (and help is > of course appreciated), but the upshot is: there may be a 1.6.11 shortly.
The issue-3242 partial backport is responsible for the 3 JavaHL test failures. r879762 on the issue-3242 branch removed this session reparenting code from libsvn_client/mergeinfo.c:svn_client__get_repos_mergeinfo_catalog()... [[[ { svn_error_t *err; svn_mergeinfo_t repos_mergeinfo; - const char *old_session_url; apr_array_header_t *rel_paths = apr_array_make(scratch_pool, 1, sizeof(rel_path)); APR_ARRAY_PUSH(rel_paths, const char *) = rel_path; - /* Temporarily point the session at the root of the repository. - - ### BH: This is called from 'svn cp URL1 [URL2..] TOURL' and causes issue - #3242. As far as I can tell this is the only place in this - scenario that really needs access to the repository root instead - of the common parent. If there is any way to handle this via the - common parent, we should implement this here and we reduce the - problems caused by issue #3242. */ - SVN_ERR(svn_client__ensure_ra_session_url(&old_session_url, ra_session, - NULL, scratch_pool)); - /* Fetch the mergeinfo. */ err = svn_ra_get_mergeinfo(ra_session, &repos_mergeinfo, rel_paths, rev, inherit, include_descendants, result_pool); ]]] ...and effectively moved it to the one caller of svn_client__get_repos_mergeinfo_catalog() that still needs access to the root of the repository: libsvn_client/mergeinfo.c:get_mergeinfo(): [[[ @@ -960,6 +956,7 @@ { const char *repos_rel_path; const char *local_abspath; + const char *old_session_url; SVN_ERR(svn_dirent_get_absolute(&local_abspath, "", scratch_pool)); SVN_ERR(svn_client__open_ra_session_internal(&ra_session, path_or_url, @@ -974,6 +971,8 @@ FALSE, NULL, scratch_pool, scratch_pool)); + SVN_ERR(svn_client__ensure_ra_session_url(&old_session_url, ra_session, + *repos_root, scratch_pool)); SVN_ERR(svn_client__get_repos_mergeinfo_catalog(mergeinfo_catalog, ra_session, repos_rel_path, rev, ]]] The problem is, when the issue-3242-dev backport branch was created and r879762 backported to it, the changes to get_mergeinfo() were not included -- see http://svn.apache.org/viewvc/subversion/branches/1.6.x-issue-3242-partial/subversion/libsvn_client/mergeinfo.c?r1=916089&r2=916088&pathrev=916089. I assume this was mistake(?), the change getting lost in conflict resolution. With the remainder of rr879762 backported to mergeinfo.c like so, [[[ Index: subversion/libsvn_client/mergeinfo.c =================================================================== --- subversion/libsvn_client/mergeinfo.c (revision 923779) +++ subversion/libsvn_client/mergeinfo.c (working copy) @@ -862,6 +862,7 @@ if (svn_path_is_url(path_or_url)) { const char *repos_rel_path; + const char *old_session_url; SVN_ERR(svn_client__open_ra_session_internal(&ra_session, path_or_url, NULL, NULL, NULL, FALSE, @@ -872,6 +873,8 @@ SVN_ERR(svn_client__path_relative_to_root(&repos_rel_path, path_or_url, *repos_root, FALSE, NULL, NULL, subpool)); + SVN_ERR(svn_client__ensure_ra_session_url(&old_session_url, ra_session, + *repos_root, subpool)); SVN_ERR(svn_client__get_repos_mergeinfo(ra_session, mergeinfo, repos_rel_path, rev, svn_mergeinfo_inherited, FALSE, ]]] the JavaHL tests pass. Running the rest of the tests right now. Paul