Bug 55306 - Error when copying svn repository, which contains lock file, using mod_dav
Error when copying svn repository, which contains lock file, using mod_dav
Status: NEW
Product: Apache httpd-2
Classification: Unclassified
Component: mod_dav
2.2.25
All Linux
: P2 normal with 4 votes (vote)
: ---
Assigned To: Apache HTTPD Bugs Mailing List
: FixedInTrunk
Depends on:
Blocks:
  Show dependency tree
 
Reported: 2013-07-25 07:32 UTC by Alex
Modified: 2013-10-03 05:34 UTC (History)
3 users (show)



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alex 2013-07-25 07:32:57 UTC
Hi,

I'd tried to copy repository(branch):
svn cp https://svn/testcopy/trunk https://svn/testcopy/tags/test_tag_011 -m "make tag"
I've got error:
svn: E175002: Server sent unexpected return value (424 Failed Dependency) in response to COPY request for '/testcopy/!svn/rvr/4314/trunk'

If I'm trying to copy repository using svn and filesystem:
$svn copy file:///docs/svn/repos/testcopy/trunk file:///docs/svn/repos/testcopy/tags/test_tag_01 -m 'make a tag'
Then I do not have error:
Committed 2.

This error first appeared after update from httpd-2.2.24 to httpd-2.2.25.
Modules mod_dav_svn.so and mod_authz_svn.so bundled with svn were recompiled and reinstalled using apxs from httpd-2.2.25

Thanks.
Comment 1 Ian Girouard 2013-08-21 18:35:19 UTC
The same thing happens for me too, but with Visual SVN Server 2.6.4, (including svn 1.8.1 and apache HTTP Server  2.2.25)
Comment 2 Ben Reser 2013-10-03 04:07:52 UTC
This is happening as a result of the change made for PR 54610.  The change incorrectly causes locks on the source of a copy to require that the client provide the state token for the lock.
Comment 3 Ben Reser 2013-10-03 05:20:57 UTC
Note that Philip Martin added a regression test to this to Subversion in:
http://svn.apache.org/r1516285
Comment 4 Ben Reser 2013-10-03 05:30:59 UTC
Committed a fix in 0 that doesn't require the lock token on the COPY source, but if a lock token is provided in an If: header it will still be checked.  This makes mod_dav compliant with RFC 4918 with respect to the behavior of COPY and locks.