On IRC today...
<glasser> pburba: so basically I'm having some angst with
merge_fails_if_subtree_is_deleted_on_src test
<glasser> it first does a merge of some changes into A_copy/D/gamma, so
that file ends up with mergeinfo
<glasser> and then it does a merge of merge changes into A_copy/ which
includes a delete of A/D/gamma
<glasser> and deep inside calculate_remaining_ranges ->
filter_reflected_revisions it ends up called svn_ra_get_mergeinfo on
A/D/gamma
<glasser> with the revision after it is deleted (which is the last
revision specified on the commandline) as the rev
<glasser> so on the reintegrate branch, this is a file-not-found error
<glasser> what should the fix be? this code is pretty complex
<pburba> glasser: Let me take a look
The test fails because of the call to svn_client__get_repos_mergeinfo()
in filter_reflected_revisions() returns an error when we ask for the
mergeinfo for a non-existant path. On trunk no error is returned,
instead *TARGET_MERGEINFO is set to an empty hash. I recall you
discussing the fact that on trunk our queries of the SQLite db didn't
return an error when a requested path_at_rev didn't exist. I assume the
changes you made on the integrate branch resulted in an error now being
returned by svn_client__get_repos_mergeinfo(), does that sound right?
If so, then the fix looks as simple as clearing the error. See attached
patch (which passes all merge tests).
[[[
On the reintegrate branch, fix cause of merge_tests.py 61 failure.
* subversion/libsvn_client/merge.c
(filter_reflected_revisions): Handle the fact that the second
URL/revision
pair might not exist causing svn_client__get_repos_mergeinfo() to
return an
error.
]]]
Paul
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-01-04 00:50:49 CET