On Wed, Mar 31, 2010 at 4:29 PM, Hyrum K. Wright
<hyrum_wright_at_mail.utexas.edu> wrote:
> On Wed, Mar 31, 2010 at 1:01 PM, Hyrum K. Wright <
> hyrum_wright_at_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
Received on 2010-04-02 23:22:59 CEST