[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit: r31900 - in trunk/subversion: libsvn_client tests/cmdline

From: Kamesh Jayachandran <kamesh_at_collab.net>
Date: Thu, 03 Jul 2008 20:42:27 +0530

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Let me record my study so far on this.

Context from test merge_tests-61.

On Pristine working copy of merge_tests-61
1)svn merge -r1:4 http://localhost/svn/merge_tests-61/A/D/gamma@4
A_copy/D/gamma
2)svn merge -r1:5 http://localhost/svn/merge_tests-61/A A_copy --force

Prior to this commit when we run 2)
- ->we open the diff editor for '/A' with default_start=2 and end
revision=5.
- ->we call set_path on /A/D/gamma for start_rev=4
- ->finish_report()

After this commit
- ->we open the diff editor for '/A' with default_start=2 and end
revision=5.
*No set_path on /A/D/gamma is called as it is anyway going to be deleted.
- ->finish_report()

Not calling set_path on /A/D/gamma causes the serf to fail on
'finish_report'.

It fails at 'svn_ra_serf__get_baseline_info' called via the callback
which calls 'svn_ra_get_dir2'.

I could see neon also makes a call to 'svn_ra_get_dir2' with almost same
set of parameters.

One difference I could observe that may be the cause is not sure though.

When neon tries to retrieve the 'dir properties at rev 2' it makes a
request to '/svn/merge_tests-61/!svn/bc/2/A'.

Whereas serf makes a request to '/svn/merge_tests-1/A'.

With regards
Kamesh Jayachandran
Lieven Govaerts wrote:
> kameshj_at_tigris.org wrote:
>> Author: kameshj
>> Date: Fri Jun 27 07:56:04 2008
>> New Revision: 31900
>>
>> Log:
>> Fix issue #3067, 'subtrees that don't exist at the start or end of a
>> merge
>> range shouldn't break the merge'
>>
>> Fixes the core problem of issue #3076: Don't try to describe invalid
>> subtrees to the merge report editor. Also fixes the ancillary problem
>> described in
>> http://subversion.tigris.org/issues/show_bug.cgi?id=3067#desc34
>> where subtrees with empty mergeinfo don't get their mergeinfo updated
>> properly.
>>
>> * subversion/libsvn_client/merge.c
>> (init_rangelist, push_range): New helpers.
>> (prepare_subtree_ranges): New helper for filter_merged_revisions() when
>> operating on subtrees.
>> (filter_merged_revisions): Use new prepare_subtree_ranges() helper to
>> address various issue #3067 problems. Do away with entry argument
>> and instead pass a svn_client__merge_path_t representing the working
>> copy
>> target path, along with another svn_client__merge_path_t
>> representing the
>> path's parent if the path is a subtree. Cascade some additional
>> args from
>> calculate_remaining_ranges().
>> (calculate_remaining_ranges): Improve doc string. Tweak signature
>> to get
>> svn_client__merge_path_t for target and its nearest parent if target
>> is a
>> subtree. Update call to filter_merged_revisions().
>> (populate_remaining_ranges, do_file_merge): Update calls to
>> calculate_remaining_ranges().
>> (get_mergeinfo_walk_cb): Stop doing any 'preemptive' elision on
>> subtrees.
>> This leaves a local mod on the subtree and the subtree is to be
>> deleted by
>> the requested merge,the local mod will cause the subtree to be skipped.
>> Just add subtrees with empty mergeinfo and let prepare_subtree_ranges()
>> handle it.
>> (get_mergeinfo_paths): Note in doc string that we always include
>> children
>> with empty mergeinfo.
>>
> This commit seems to break 4 merge tests over ra_serf only.
>
> The error message for each of this is:
>
> svn: Premature EOF seen from server
>
> I don't know what specifically in your patch can cause this situation,
> and I don't have a lot of time right now to look into it. If anyone else
> can, great. Otherwise I'll use this as a todo reminder mail.
>
> Lieven
>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFIbOxb3WHvyO0YTCwRAq30AJ0cbLQRglS9gF1ckneRRUruKcF5AQCfYmPA
bT5beQfvT05nfij6vK9+qpQ=
=d+hU
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-07-03 17:15:02 CEST

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.