Attached patch fixes the issue.
All tests that pass over ra_dav.
Somehow I think initialing 'depth' to 'svn_depth_infinity' is a much
simpler way to solve this problem.
With regards
Kamesh Jayachandran
Kamesh Jayachandran wrote:
> r24968 has attempted to fix that only for non-recursive case '-N switch'.
>
> With regards
> Kamesh Jayachandran
>
>
> Malcolm Rowe wrote:
>> Hi all,
>>
>> I haven't got time to look into this at the moment, but I thought I'd
>> post to the list in case someone else does (or in case it is/was a known
>> problem at the moment).
>>
>> It appears that the sparse-directory protocol changes aren't backward
>> compatible; attempts to checkout or update from a 1.4.3 (e.g.) client
>> against a trunk server (r25053) give something like:
>>
>> svn: REPORT request failed on '/foo/!svn/vcc/default'
>> svn: Unsupported report depth 'unknown'
>>
>> Regards,
>> Malcolm
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: dev-help@subversion.tigris.org
>
[[[
Checkout and Update only sends 'recursive' tag to 'update-report' when invoked
in a non-recursive fashion with a '-N' switch.
* subversion/mod_dav_svn/reports/update.c
(dav_svn__update_report):
When 'recursive' and 'depth' tag does not exist set depth to 'infinity'.
Patch by: kameshj
Found by: malcolm
]]]
Index: subversion/mod_dav_svn/reports/update.c
===================================================================
--- subversion/mod_dav_svn/reports/update.c (revision 25175)
+++ subversion/mod_dav_svn/reports/update.c (working copy)
@@ -918,6 +918,7 @@
svn_boolean_t text_deltas = TRUE;
svn_depth_t depth = svn_depth_unknown;
svn_boolean_t saw_depth = FALSE;
+ svn_boolean_t saw_recursive = FALSE;
svn_boolean_t resource_walk = FALSE;
svn_boolean_t ignore_ancestry = FALSE;
dav_svn__authz_read_baton arb;
@@ -1048,6 +1049,7 @@
When both "depth" and "recursive" are sent, we don't
bother to check if they're mutually consistent, we just
let depth dominate. */
+ saw_recursive = TRUE;
}
if (child->ns == ns && strcmp(child->name, "ignore-ancestry") == 0)
{
@@ -1074,7 +1076,10 @@
text_deltas = FALSE;
}
}
-
+
+ if (!saw_depth && !saw_recursive && (depth == svn_depth_unknown))
+ depth = svn_depth_infinity;
+
/* If the client never sent a <src-path> element, it's old and
sending a style of report that we no longer allow. */
if (! src_path)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue May 29 14:48:12 2007