Project

General

Profile

Bug #1903

com.zfabrik.boot.svnaccess computes wrong base-line revision for branches

Added by Udo Offermann almost 9 years ago. Updated over 8 years ago.

Status:
Resolved
Priority:
High
Assignee:
Category:
z2-core
Target version:
Start date:
17.06.2015
Due date:
% Done:

100%

Estimated time:
16.00 h
origin:

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

Related to z2-Environment - Feature #1869: Allow alternative SVN client implementations for SVNCRResolved30.12.2014Udo Offermann

Actions
Blocked by z2-Environment - Improvement #1918: Replace SVNClientAdapter based implementationResolved29.08.2015Henning Blohm

Actions

Also available in: Atom PDF