Hello All, We have problem with our svn replication when using apache's svn replication described here: http://www.slideshare.net/normanmaurer/apacheconeusvnreplication Everything is going quite well except one little thing: For one repository we cannot commit using the svn proxy because of the following problem that we found in svn: If the repository name is used int the URL, somewhow this name is lowercased. This creates the following confusion (I used trash repository to demonstrate this): First we checkout the repository and everything is fine: iliyan@testmachine:~/work/svn/test_trash$ svn co http://sfsvn/trash A trash/Test A trash/Test/z Checked out revision 4. Then we add to svn trunk/Trash directory which contains the name of the repository. iliyan@testmachine:~/work/svn/test_trash$ cd trash/ iliyan@testmachine:~/work/svn/test_trash/trash$ mkdir -p trunk/Trash iliyan@testmachine:~/work/svn/test_trash/trash$ svn add trunk/ A trunk A trunk/Trash iliyan@testmachine:~/work/svn/test_trash/trash$ svn commit -m "test" Adding trunk Adding trunk/Trash Committed revision 5. iliyan@testmachine:~/work/svn/test_trash/trash$ ls -l общо 0 drwxr-xr-x 3 iliyan iliyan 24 2010-12-10 13:42 Test drwxr-xr-x 4 iliyan iliyan 16 2010-12-10 13:43 trunk Then we create example file trash.txt: iliyan@testmachine:~/work/svn/test_trash/trash$ cd trunk/Trash/ iliyan@testmachine:~/work/svn/test_trash/trash/trunk/Trash$ touch ./trash.txt iliyan@testmachine:~/work/svn/test_trash/trash/trunk/Trash$ svn add trash.txt A trash.txt After that we commit the file and here is the error (please note the lowered case in the path): iliyan@testmachine:~/work/svn/test_trash/trash/trunk/Trash$ svn commit -m "z" Adding Trash/trash.txt Transmitting file data .svn: Commit failed (details follow): svn: A MERGE response for '/trash/trunk/trash/trash.txt' is not a child of the destination ('/trash/trunk/Trash') To observe the problem in more details I enabled debug information from /etc/subvsersion/server by adding: neon-debug-mask = 1000 This produced the debug info (see attached file). The last xml request have the name incorrect. Any help on this is highly appreciated. Please note that we tried many different svn and apache versions, and the result is always the same. We are using SLES 10.3 as our svn servers. The svn version is: The apcahe version is: -- Iliyan. |
ah_create, for WWW-Authenticate Body block (104 bytes): [<?xml version="1.0" encoding="utf-8"?><D:options xmlns:D="DAV:"><D:activity-collection-set/></D:options>] Read block (30 bytes): [<?xml version="1.0" encoding="] Read block (175 bytes): [ISO-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";> <html xmlns="http://www.w3.org/1999/xhtml"; lang="] Read block (14 bytes): [en" xml:lang="] Read block (19 bytes): [en"> <head> <title>] Read block (63 bytes): [Authentication required!</title> <link rev="made" href="mailto:] Read block (275 bytes): [%5bno%20address%20given%5d" /> <style type="text/css"><!--/*--><![CDATA[/*><!--*/ body { color: #000000; background-color: #FFFFFF; } a:link { color: #0000CC; } p, address {margin-left: 3em;} span {font-size: smaller;} /*]]>*/--></style> </head>
<body> <h1>] Read block (34 bytes): [Authentication required!</h1> <p> ] Read block (82 bytes): [ This server could not verify that you are authorized to access the URL "] Read block (171 bytes): [/trash/trunk/Trash". You either supplied the wrong credentials (e.g., bad password), or your browser doesn't understand how to supply the credentials required. ] Read block (9 bytes): [</p> <p> ] Read block (114 bytes): [ In case you are allowed to request the document, please check your user-id and password and try again. ] Read block (9 bytes): [</p> <p> ] Read block (72 bytes): [If you think this is a server error, please contact the <a href="mailto:] Read block (43 bytes): [%5bno%20address%20given%5d">webmaster</a>. ] Read block (17 bytes): [ </p> <h2>Error ] Read block (33 bytes): [401</h2> <address> <a href="/">] Read block (43 bytes): [sfsvn.build.lab.sofi.axway.int</a><br /> ] Read block (9 bytes): [ <span>] Read block (33 bytes): [Fri Dec 10 18:15:19 2010<br /> ] Read block (60 bytes): [Apache/2.2.3 (Linux/SUSE)</span> </address> </body> </html> ] Read block (1 bytes): [ ] ah_post_send (#0), code is 401 (want 401), WWW-Authenticate is Basic realm="Protected area: Enter your Active Directory credentials" auth: Got challenge (code 401). auth: Got 'Basic' challenge. auth: Trying Basic challenge... auth: Accepted Basic challenge. auth: Sending 'Basic' response. Body block (104 bytes): [<?xml version="1.0" encoding="utf-8"?><D:options xmlns:D="DAV:"><D:activity-collection-set/></D:options>] Read block (185 bytes): [<?xml version="1.0" encoding="utf-8"?> <D:options-response xmlns:D="DAV:"> <D:activity-collection-set><D:href>/trash/!svn/act/</D:href></D:activity-collection-set></D:options-response> ] XML: Parsing 185 bytes. XML: xmlParseChunk returned 0 XML: End of document. XML: xmlParseChunk returned 0 ah_post_send (#1), code is 200 (want 401), WWW-Authenticate is (none) ah_create, for WWW-Authenticate auth: Sending 'Basic' response. Body block (300 bytes): [<?xml version="1.0" encoding="utf-8"?><propfind xmlns="DAV:"><prop><version-controlled-configuration xmlns="DAV:"/><resourcetype xmlns="DAV:"/><baseline-relative-path xmlns="http://subversion.tigris.org/xmlns/dav/"/><repository-uuid xmlns="http://subversion.tigris.org/xmlns/dav/"/></prop></propfind>] Read block (692 bytes): [<?xml version="1.0" encoding="utf-8"?> <D:multistatus xmlns:D="DAV:" xmlns:ns1="http://subversion.tigris.org/xmlns/dav/"; xmlns:ns0="DAV:"> <D:response xmlns:lp1="DAV:" xmlns:lp3="http://subversion.tigris.org/xmlns/dav/";> <D:href>/trash/trunk/Trash/</D:href> <D:propstat> <D:prop> <lp1:version-controlled-configuration><D:href>/trash/!svn/vcc/default</D:href></lp1:version-controlled-configuration> <lp1:resourcetype><D:collection/></lp1:resourcetype> <lp3:baseline-relative-path>trunk/Trash</lp3:baseline-relative-path> <lp3:repository-uuid>3b9e1524-cc95-0410-9c72-99fa806b32e8</lp3:repository-uuid> </D:prop> <D:status>HTTP/1.1 200 OK</D:status> </D:propstat> </D:response> </D:multistatus> ] XML: Parsing 692 bytes. XML: xmlParseChunk returned 0 XML: End of document. XML: xmlParseChunk returned 0 ah_post_send (#0), code is 207 (want 401), WWW-Authenticate is (none) ah_create, for WWW-Authenticate auth: Sending 'Basic' response. Read block (315 bytes): [<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>201 Created</title> </head><body> <h1>Created</h1> <p>Activity /trash/!svn/act/39302ed2-e72d-4b15-ba8a-c680230a823d has been created.</p> <hr /> <address>Apache/2.2.14 (Linux/SUSE) Server at svn.tumbleweed.com Port 443</address> </body></html> ] ah_post_send (#0), code is 201 (want 401), WWW-Authenticate is (none) ah_create, for WWW-Authenticate auth: Sending 'Basic' response. Body block (111 bytes): [<?xml version="1.0" encoding="utf-8"?><propfind xmlns="DAV:"><prop><checked-in xmlns="DAV:"/></prop></propfind>] Read block (393 bytes): [<?xml version="1.0" encoding="utf-8"?> <D:multistatus xmlns:D="DAV:" xmlns:ns0="DAV:"> <D:response xmlns:lp1="DAV:" xmlns:lp3="http://subversion.tigris.org/xmlns/dav/";> <D:href>/trash/!svn/vcc/default</D:href> <D:propstat> <D:prop> <lp1:checked-in><D:href>/trash/!svn/bln/12</D:href></lp1:checked-in> </D:prop> <D:status>HTTP/1.1 200 OK</D:status> </D:propstat> </D:response> </D:multistatus> ] XML: Parsing 393 bytes. XML: xmlParseChunk returned 0 XML: End of document. XML: xmlParseChunk returned 0 ah_post_send (#0), code is 207 (want 401), WWW-Authenticate is (none) ah_create, for WWW-Authenticate auth: Sending 'Basic' response. Body block (180 bytes): [<?xml version="1.0" encoding="utf-8"?><D:checkout xmlns:D="DAV:"><D:activity-set><D:href>/trash/!svn/act/39302ed2-e72d-4b15-ba8a-c680230a823d</D:href></D:activity-set></D:checkout>] Read block (330 bytes): [<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>201 Created</title> </head><body> <h1>Created</h1> <p>Checked-out resource /trash/!svn/wbl/39302ed2-e72d-4b15-ba8a-c680230a823d/12 has been created.</p> <hr /> <address>Apache/2.2.14 (Linux/SUSE) Server at svn.tumbleweed.com Port 443</address> </body></html> ] ah_post_send (#0), code is 201 (want 401), WWW-Authenticate is (none) ah_create, for WWW-Authenticate auth: Sending 'Basic' response. Body block (303 bytes): [<?xml version="1.0" encoding="utf-8" ?><D:propertyupdate xmlns:D="DAV:" xmlns:V="http://subversion.tigris.org/xmlns/dav/"; xmlns:C="http://subversion.tigris.org/xmlns/custom/"; xmlns:S="http://subversion.tigris.org/xmlns/svn/";><D:set><D:prop><S:log >test commit</S:log></D:prop></D:set></D:propertyupdate>] Read block (458 bytes): [<?xml version="1.0" encoding="utf-8"?> <D:multistatus xmlns:D="DAV:" xmlns:ns3="http://subversion.tigris.org/xmlns/dav/"; xmlns:ns2="http://subversion.tigris.org/xmlns/custom/"; xmlns:ns1="http://subversion.tigris.org/xmlns/svn/"; xmlns:ns0="DAV:"> <D:response> <D:href>/trash/!svn/wbl/39302ed2-e72d-4b15-ba8a-c680230a823d/12</D:href> <D:propstat> <D:prop> <ns1:log/> </D:prop> <D:status>HTTP/1.1 200 OK</D:status> </D:propstat> </D:response> </D:multistatus> ] XML: Parsing 458 bytes. XML: xmlParseChunk returned 0 XML: End of document. XML: xmlParseChunk returned 0 ah_post_send (#0), code is 207 (want 401), WWW-Authenticate is (none) ah_create, for WWW-Authenticate auth: Sending 'Basic' response. Body block (111 bytes): [<?xml version="1.0" encoding="utf-8"?><propfind xmlns="DAV:"><prop><checked-in xmlns="DAV:"/></prop></propfind>] Read block (400 bytes): [<?xml version="1.0" encoding="utf-8"?> <D:multistatus xmlns:D="DAV:" xmlns:ns0="DAV:"> <D:response xmlns:lp1="DAV:" xmlns:lp3="http://subversion.tigris.org/xmlns/dav/";> <D:href>/trash/trunk/Trash/</D:href> <D:propstat> <D:prop> <lp1:checked-in><D:href>/trash/!svn/ver/6/trunk/Trash</D:href></lp1:checked-in> </D:prop> <D:status>HTTP/1.1 200 OK</D:status> </D:propstat> </D:response> </D:multistatus> ] XML: Parsing 400 bytes. XML: xmlParseChunk returned 0 XML: End of document. XML: xmlParseChunk returned 0 ah_post_send (#0), code is 207 (want 401), WWW-Authenticate is (none) Sending Trash/trash.txt ah_create, for WWW-Authenticate auth: Sending 'Basic' response. Body block (180 bytes): [<?xml version="1.0" encoding="utf-8"?><D:checkout xmlns:D="DAV:"><D:activity-set><D:href>/trash/!svn/act/39302ed2-e72d-4b15-ba8a-c680230a823d</D:href></D:activity-set></D:checkout>] Read block (349 bytes): [<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>201 Created</title> </head><body> <h1>Created</h1> <p>Checked-out resource /trash/!svn/wrk/39302ed2-e72d-4b15-ba8a-c680230a823d/trunk/trash/trash.txt has been created.</p> <hr /> <address>Apache/2.2.14 (Linux/SUSE) Server at svn.tumbleweed.com Port 443</address> </body></html> ] ah_post_send (#0), code is 201 (want 401), WWW-Authenticate is (none) Transmitting file data .ah_create, for WWW-Authenticate auth: Sending 'Basic' response. Body block (18 bytes): [SVN] ah_post_send (#0), code is 204 (want 401), WWW-Authenticate is (none) ah_create, for WWW-Authenticate auth: Sending 'Basic' response. Body block (303 bytes): [<?xml version="1.0" encoding="utf-8"?><D:merge xmlns:D="DAV:"><D:source><D:href>/trash/!svn/act/39302ed2-e72d-4b15-ba8a-c680230a823d</D:href></D:source><D:no-auto-merge/><D:no-checkout/><D:prop><D:checked-in/><D:version-name/><D:resourcetype/><D:creationdate/><D:creator-displayname/></D:prop></D:merge>] Read block (737 bytes): [<?xml version="1.0" encoding="utf-8"?> <D:merge-response xmlns:D="DAV:"> <D:updated-set> <D:response> <D:href>/trash/!svn/vcc/default</D:href> <D:propstat><D:prop> <D:resourcetype><D:baseline/></D:resourcetype> <D:version-name>13</D:version-name> <D:creationdate>2010-12-10T16:15:27.660498Z</D:creationdate> <D:creator-displayname>testuser</D:creator-displayname> </D:prop> <D:status>HTTP/1.1 200 OK</D:status> </D:propstat> </D:response> <D:response> <D:href>/trash/trunk/trash/trash.txt</D:href> <D:propstat><D:prop> <D:resourcetype/> <D:checked-in><D:href>/trash/!svn/ver/13/trunk/trash/trash.txt</D:href></D:checked-in> </D:prop> <D:status>HTTP/1.1 200 OK</D:status> </D:propstat> </D:response> </D:updated-set> </D:merge-response> ] XML: Parsing 737 bytes. XML: xmlParseChunk returned 0 ah_create, for WWW-Authenticate auth: Sending 'Basic' response. ah_post_send (#0), code is 204 (want 401), WWW-Authenticate is (none) svn: Commit failed (details follow): svn: A MERGE response for '/trash/trunk/trash/trash.txt' is not a child of the destination ('/trash/trunk/Trash')