Hi All,
NODES.dav_cache in wc.db is always set to NULL in serf.
Is it intentional?
If not attached patch would fix it.
Why I am concerned?
I was testing one scenario(master-slave setup) which failed becuase of
NODES.dav_cache being NULL.
Scenario:
I was trying to understand r900797(Commit where subsequent commits(from
same WC) to the same out-dated proxy(out-dated only after the first
commit) was made to succeed via <D:apply-to-version/>)
For some time I could see it fail with trunk binary later reduced with
the following cases,
Case 1:
svn ci -m "first mod" file --config-option servers:global:http-library=neon
echo "second mod" >> file
svn ci -m "second mod" file --config-option servers:global:http-library=neon
Case 1 succeeds.
Case 2:
svn ci -m "first mod" file --config-option servers:global:http-library=serf
echo "second mod" >> file
svn ci -m "second mod" file --config-option servers:global:http-library=serf
Case 2 succeeds
Case 3
svn ci -m "first mod" file --config-option servers:global:http-library=neon
echo "second mod" >> file
svn ci -m "second mod" file --config-option servers:global:http-library=serf
Case 3 succeeds.
Case 4
svn ci -m "first mod" file --config-option servers:global:http-library=serf
echo "second mod" >> file
svn ci -m "second mod" file --config-option servers:global:http-library=neon
Case 4 *fails*
Case 5
svn ci -m "first mod" file --config-option servers:global:http-library=neon
echo "second mod" >> file
svn ci -m "second mod" file --config-option servers:global:http-library=serf
echo "third mod" >> file
svn ci -m "third mod" file --config-option servers:global:http-library=neon
Case 5 *fails*.
Effectively once your working copy is used with serf you can not go back
to neon for this particular *CASE*.
Regards,
Arwin Arni
Index: subversion/libsvn_ra_serf/merge.c
===================================================================
--- subversion/libsvn_ra_serf/merge.c (revision 1095083)
+++ subversion/libsvn_ra_serf/merge.c (working copy)
@@ -308,8 +308,7 @@
/* We now need to dive all the way into the WC to update the
* base VCC url.
*/
- if ((! SVN_RA_SERF__HAVE_HTTPV2_SUPPORT(ctx->session))
- && ctx->session->wc_callbacks->push_wc_prop)
+ if (ctx->session->wc_callbacks->push_wc_prop)
{
svn_string_t checked_in_str;
const char *checked_in;
* subversion/libsvn_ra_serf/merge.c
(end_merge) : Remove extra check
Patch by : Arwin Arni
<arwin_{AT}_collab.net>