Bug #1903
com.zfabrik.boot.svnaccess computes wrong base-line revision for branches
100%
Description
Assume http://z2-environment.net/svn/z2-environment/trunk is on revision 148 and http://z2-environment.net/svn/z2-environment/trunk/z2-samples.gateway is on revision 20.
Now trunk is branched into http://z2-environment.net/svn/z2-environment/branches/v2.3 in revision 149.
Now http://z2-environment.net/svn/z2-environment/branches/v2.3/z2-samples.gateway is still on revision 20 but it cannot be looked up with
> svn list http://z2-environment.net/svn/z2-environment/branches/v2.3/z2-samples.gateway@20
However this is what com.zfabrik.boot.svnaccess
does. It determines the revision of http://z2-environment.net/svn/z2-environment/branches/v2.3/z2-samples.gateway which 20 and
performs an svn list for this svn resource in revision 20 which does not exist in this branch, because the branch does not exist in revision 20.
So com.zfabrik.boot.svnaccess
must determine the base-line revision in which the branch was created:
1 ==================================================================================== PROPFIND /svn/gi-de-tt.main/lakka/branches/v2.3/extensions HTTP/1.1 Depth: 0 <?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> === RESULT ===> <D:multistatus xmlns:D="DAV:" xmlns:ns1="http://subversion.tigris.org/xmlns/dav/" xmlns:ns0="DAV:"> <D:response xmlns:lp1="DAV:" xmlns:lp2="http://subversion.tigris.org/xmlns/dav/"> <D:href>/svn/gi-de-tt.main/lakka/branches/v2.3/extensions/</D:href> <D:propstat> <D:prop> <lp1:version-controlled-configuration> <D:href>/svn/gi-de-tt.main/!svn/vcc/default</D:href> </lp1:version-controlled-configuration> <lp1:resourcetype> <D:collection /> </lp1:resourcetype> <lp2:baseline-relative-path>lakka/branches/v2.3/extensions</lp2:baseline-relative-path> <lp2:repository-uuid>65b2e40f-0061-4c20-be6b-b6847574fef4</lp2:repository-uuid> </D:prop> <D:status>HTTP/1.1 200 OK</D:status> </D:propstat> </D:response> </D:multistatus> 2 ==================================================================================== PROPFIND /svn/gi-de-tt.main/!svn/vcc/default HTTP/1.1 Depth: 0 <?xml version="1.0" encoding="UTF-8"?> <propfind xmlns="DAV:"> <prop><checked-in xmlns="DAV:"/> </prop> </propfind> === RESULT ===> <D:multistatus xmlns:D="DAV:" xmlns:ns0="DAV:"> <D:response xmlns:lp1="DAV:" xmlns:lp2="http://subversion.tigris.org/xmlns/dav/"> <D:href>/svn/gi-de-tt.main/!svn/vcc/default</D:href> <D:propstat> <D:prop> <lp1:checked-in> <D:href>/svn/gi-de-tt.main/!svn/bln/1348</D:href> </lp1:checked-in> </D:prop> <D:status>HTTP/1.1 200 OK</D:status> </D:propstat> </D:response> </D:multistatus> 3 ==================================================================================== PROPFIND /svn/gi-de-tt.main/!svn/bln/1348 HTTP/1.1 Depth: 0 <?xml version="1.0" encoding="UTF-8"?> <propfind xmlns="DAV:"> <prop><baseline-collection xmlns="DAV:"/> <version-name xmlns="DAV:"/> </prop> </propfind> === RESULT ===> <D:multistatus xmlns:D="DAV:" xmlns:ns0="DAV:"> <D:response xmlns:lp1="DAV:" xmlns:lp2="http://subversion.tigris.org/xmlns/dav/"> <D:href>/svn/gi-de-tt.main/!svn/bln/1348</D:href> <D:propstat> <D:prop> <lp1:baseline-collection> <D:href>/svn/gi-de-tt.main/!svn/bc/1348/</D:href> </lp1:baseline-collection> <lp1:version-name>1348</lp1:version-name> </D:prop> <D:status>HTTP/1.1 200 OK</D:status> </D:propstat> </D:response> </D:multistatus>
Related issues