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')

Reply via email to